创建型
- 工厂方法(Factory Method): 隔离创建对象的行为可扩展;
https://blog.csdn.net/EdwardOrchis/article/details/98472883 - 抽象工厂(Abstract Factory):该模式抽象出创建一组相关对象的接口,其中每个方法即为工厂方法;
https://blog.csdn.net/EdwardOrchis/article/details/98472883 - 建造者(Builder):与工厂不同的是,该模式包含了对象构造的若干过程,因此天然地与Template结合;
https://blog.csdn.net/EdwardOrchis/article/details/98542186 - 原型(Prototype):用于以某个对象为模子创建一个新对象的场景,例如幻灯片种的母版与普通页、对象的克隆;
https://blog.csdn.net/EdwardOrchis/article/details/98682218 - 单例(Singleton):;
https://blog.csdn.net/EdwardOrchis/article/details/98472307
结构型
- 适配器(Adapter Class/Object):处理遗留系统的不二法宝,也可以用空方法实现接口作为抽象父类;
https://blog.csdn.net/EdwardOrchis/article/details/101041766 - 桥接(Bridge):使用关联代替继承,解决类多维度的扩展导致的类爆炸的问题;
- 组合(Composite):将组件组装为整体使用;
- 装饰(Decorator):常见于各种Wrapper,常用于在原函数执行前后做一些额外的工作;
- 外观(Facade):封装扇出,利用树状结构减少调用者的复杂度;
[待] - 享元(Flyweight):复用变化少的对象;
- 代理(Proxy):使用对象的一个完整的替代品;
行为型
- 解释器(Interpreter):一般用于解释执行自定义的某种语法;
- 模板方法(Termplate Method):框架与钩子;
- 责任链(Chain of Responsibility):一组对象按照既定的顺序关联起来,依次处理请求,其中任一对象都有劝停止调用传递;
https://blog.csdn.net/EdwardOrchis/article/details/98802679 - 命令(Command):将行为抽象和解耦;
- 迭代器(Iterator):封装数据的访问行为(顺序、可见性等);
- 中介者(Meddiator):用一个中介对象来封装一系列的交互;新增一个模块处理两个模块的交互;
- 备忘录(Memento):将当前对象的状态信息保存为另一个对象,使得当前对象可以基于状态镜像快速恢复复原状态;
- 观察者(Observer):订阅/发布模型,用于事件驱动的设计;
[待] - 状态机(State):封装有限状态机的状态与状态迁移,每个状态定义了自身的输入与状态迁移;
- 策略(Strategy):使用接口及使用策略,用于隔离变化;
- 访问者(Vistor):数据与行为分离方法。通过这种分离,可达到一个被访问者动态添加新的操作而无需做其他的修改的效果。