设计模式最早可追溯到1970年亚历山大Alexander的著作《建筑的永恒之道》
书中如此描述:模式是由3部分组成的通用规则
- 特定环境
- 一类问题
- 一个解决方案
每个模式描述不断重复发生的问题,及其解决方案的核心设计
设计模式的正式提出
软件领域的设计模式,是由Erich Gamma等1990年提出的
设计模式分类
- 创建型
- 结构型
- 行为型
创建型
研究如何创建对象
注意:并非是直接实例化对象
程序根据特定场景,选择创建对象的方式,从而保证性能,确定架构优势
常见的有:
- 工厂模式
- 单例模式
- 原型模式
- 生成器模式
结构型
组织对象,形成复杂结构
常见的有:
- 适配器模式
- 桥接模式
- 组合器模式
- 装饰器模式
- 门面模式
- 亨元模式
- 代理模式
行为型
处理对象间的信息交流和系统流程控制
常见的有:
- 访问者模式
- 中介者模式
- 命令模式
- 解释器模式
- 模板模式
- 迭代器模式
- 观察者模式
- 备忘录模式
- 状态模式
- 策略模式