GOF23设计模式(Group Of Four) 为国外很有名的四个大牛总结的23总常见的套路 分类: 1)创建型模式 单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式 2)结构型模式 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 3)行为型模式 模板方法模式、命令模 ...
分类:
其他好文 时间:
2018-11-26 00:21:47
阅读次数:
176
一、模板方法模式概述 模板方法模式是编程中经常使用的模式。它定义了一种操作中的算法架构,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 (1)核心: 处理某个流程的代码已经都定义好了,但是其中某个节点的代码暂时不能确定,因此,采用模板方法模式 ...
分类:
其他好文 时间:
2018-01-23 13:10:36
阅读次数:
169
一、访问者模式概述 (1)模式动机 对于存储在一个集合中的对象,他们可能具有不同的类型(即使有一个公共的接口),对于该集合中的对象,可以接受一类称为访问者的对象来访问,不同的访问者其访问方式也有所不同。 (2)定义 表示一个作用于某对象结构中的各元素操作,它使我们可以在不改各元素类的前提下定义作用于 ...
分类:
其他好文 时间:
2018-01-23 13:08:21
阅读次数:
159
一、观察者模式概述 观察者模式主要用于 1 :N 的通知。当一个对象(目标对象 Subject 或 Observable)的状态变化时,它需要通知一系列对象(观察者对象 Observer),令它们做出响应。 通知观察者的方式: (1)推 每次都会把通知以广播的方式发送给所有观察者,所有观察者只能被动 ...
分类:
其他好文 时间:
2018-01-23 10:59:37
阅读次数:
237
一、备忘录模式概述 保存某个对象内部状态的拷贝,使得以后就可以将该对象恢复到原先的状态。 结构: (1)源发器类 Originator 负责创建一个备忘录 Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。 (2)备忘录类 Memento 负责存储 Originator 对象 ...
分类:
其他好文 时间:
2018-01-22 19:18:17
阅读次数:
204
一、迭代器模式概述 提供一种可以遍历聚合对象的方式。又称为:游标(cursor)模式 结构: (1)聚合对象:存储数据 (2)迭代器:遍历数据 二、迭代器模式示例代码 定义:正向遍历迭代器和逆向遍历迭代器 测试: 控制台输出: 三、迭代器模式常见开发应用场景 (1)JDK内置的迭代器(List / ...
分类:
其他好文 时间:
2018-01-22 16:06:26
阅读次数:
182
一、组合模式概述 将对象组合成树状结构以表示“部分和整体”层次结构,使得客户可以统一的调用叶子对象和容器对象。 (1)组合模式的使用场景 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象。 (2)组合模式核心 抽象构件(Component)角色:定义了叶子和容 ...
分类:
其他好文 时间:
2018-01-22 10:56:26
阅读次数:
226
一、适配器模式概述 将一个类的接口转换成客户可用的另外一个接口。 将原本不兼容不能在一起工作的类添加适配处理类,使其可以在一起工作。 二、适配器模式场景 要想只有USB接口的电脑想使用PS/2接口的键盘,必须使用PS/2转USB的适配器。 三、适配器模式示例 (1)定义USB接口 (2)定义PS/2 ...
分类:
其他好文 时间:
2018-01-17 00:02:30
阅读次数:
156
一、建造者模式概述 建造者模式的本质: 1.分离了对象子组件的单独构造(由Builder负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的过程复杂的情况下使用。 2.由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不 ...
分类:
其他好文 时间:
2017-12-29 16:57:33
阅读次数:
140
一、单例模式概述 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。 二、单例模式的五种写法 1.饿汉式 优点:线程安全,效率高 缺点:无法延时加载 2. 懒汉式 优点:线程安全,延时加载 缺点:效率较低 (1)非线程安全 (2)线程安全 3.双重检查锁 注意:由于编译器优化和JVM底层内 ...
分类:
其他好文 时间:
2017-12-23 18:58:09
阅读次数:
211