博客
分类
标签
归档
友链
关于
博客
分类
标签
归档
友链
关于
松松闲谈
首页
分类
标签
归档
博客
源码
原型模式
原型模式(Prototype)知识点 Cloneable接口/Object#clone方法 详解 浅拷贝/深拷贝 序列化机制实现深拷贝 模式定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 应用场景:当代码不应该依赖于需要复制的对象的具体类时,请使用Prototype模式。 优点: 可以不耦合具体类的情况下克隆对象 避免重复的初始化代码 更方便的构建复杂对象 ...
2021-07-14
设计模式
阅读全文
观察者模式
观察者模式(Observer)模式定义定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题 对象,当主题对象发生变化时,它的所有依赖者都会收到通知并更新。 应用场景当更改一个对象的状态可能需要更改其他对象,并且实际的对象集事先 未知或动态更改时,请使用观察者模式。 优点 符合开闭原则 可以在运行时建立对象之间的关系 jdk&源码中的应用 JDK: java.util.O...
2021-07-14
设计模式
阅读全文
模板方法模式
模板方法(Template Method)模式定义定义一个操作的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 样例代码1234567891011121314151617181920212223242526public class TemplateMethodTest { public sta...
2021-07-14
设计模式
阅读全文
单例模式
单例设计模式(Singleton)知识点 模式定义/应用场景/类图分析 字节码知识/字节码指令重排序 类加载机制 JVM序列化机制 单例模式在Spring框架 & JDK源码中的应用 模式定义保证一个类只有一个实例,并且提供一个全局的访问点 使用场景重量级对象。不需要单个实例,如线程池,数据库连接池 实现方式1.懒汉模式懒汉模式:延迟加载, 只有在真正使用的时候,才开始实例化...
2021-07-14
设计模式
阅读全文