快速回顾
类别 | 名称 | 应用场景 | 例子 |
创建型模式 | Factory模式 | 共用统一接口 | |
AbstactFactory模式 | 共用统一接口 | ||
Singleton模式 | 只构建一次,每次构建只返回自己 | ||
Builder模式 | 一步步的进行复杂对象的构建 | 链式构造器,解决复杂对象多个属性可选择性地设置的问题,保证对象构造是原子操作 | |
Prototype模式 | 通过自身复制构建新对象 | ||
结构型模式 | Bridge模式 | 存在多个维度抽象继承,造成类过多的问题。 备注:通过组合多个维度的抽象来解决继承的问题。 | 笔与颜色两个维度抽象,如果是蜡笔,笔和颜色是合并在一起的,只能按笔和颜色的组合数量创建对应数量的类。如果是毛笔和颜料,笔和颜色是分离的,这个时候应该用Bridge模式,通过组合的方式,把笔和颜色两个类组合在一起,而不应该通过继承的方式,将子类同时继承笔类和颜色类。 |
Adapter模式 | |||
Decorator模式 | 一个类需要经常添加新的方法。 备注:通过组合新方法类的方式来解决继承的问题。 | ||
Composite模式 | |||
Flyweight模式 | |||
Facade模式 | |||
Proxy模式 | |||
行为模式 | Template模式 | ||
Strategy模式 | |||
State模式 | |||
Observer模式 | |||
Memento模式 | |||
Mediator模式 | |||
Command模式 | |||
Visitor模式 | |||
Chain of Responsibility模式 | |||
Iterator模式 | |||
Interpreter模式 |
创建型模式
1. builder模式
原理:Builder定义接口,concreteBuilder继承Builder,concreteBuilder一步步创建Product,Director通过输入不同的concreteBuilder达到创建不同Product的目的。
结构型模式
2. Bridge模式