23 个设计模式 (GoF)。
将创建对象的过程与业务逻辑解藕。
01 抽象工厂模式 工厂来管理相似的类。这些类的构造函数的参数是相同的。实例根据传入的类的名字和参数,由工厂来生产。将创建不同类型的实例的过程解藕了。
02 工厂模式 实例由工厂来生产。将创建实例和参数解藕了。
03 建造者模式 一个对象很复杂。给其设置不同的特征呈现。
04 原型模式
05 单例模式
在不改变原对象的情况下,给对象新增功能。
06 适配器模式 用适配器来匹配原来不匹配的输入输出。
07 桥接模式 把抽象和实现化接耦。
08 组合模式 将多个类似的对象放在一起,做为一个对象。
09 装饰器模式 动态改变原有对象的行为: 可以是覆盖,也可以是新增函数。
10 外观模式 给大(复杂)的对象提供简单的接口,以此来隐藏系统的复杂性。
11 享元模式 尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。主要用于减少创建对象的数量,以减少内存占用和提高性能。
12 代理模式 代理对象代理了内部对象的访问和修改。
对象之间的通信。
13 责任链模式 将处理能力对象形成一个链,处理时,将目标顺着链一个个传下去。
14 命令模式 将执行的命令封装成对象。
15 解释器模式 解析上下文。
16 迭代器模式 提供遍历访问集合的方法。
17 中介者模式 用中介来降低多个对象通信的复杂度。将对象通信的 P2P 的网状结果 变成 P2一个中心 的星状结构。
18 备忘录模式 保存对象的状态,以便在某时恢复。
19 观察者模式 也称发布/订阅模式。观察的数据改变时,观察者均会收到信息。
20 状态模式 对象的行为基于对象的状态。
21 策略模式 对某种情况有不同的策略(处理方式)。不同策略的签名是一致的。对策略的封装。
22 模板模式 一个类定义了整个业务流程。业务流程的部分是有不同的,由不同的子类来实现。
23 访问者模式 将对对象的访问从对象中解藕出来。