定义
设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。
Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context
基本要素
设计模式一般包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素。
四个关键要素如下:
- 模式名称 (Pattern Name)
- 问题 (Problem)
- 解决方案 (Solution)
- 效果 (Consequences)
分类
根据目的可以分为创建型,结构型,行为型三类。
- 创建型模式主要用于创建对象
- 结构型模式主要用于处理类或对象的组合
- 行为型模式主要描述类或对象如何交互和怎么分配职责
创建型模式:
结构型模式:
- 适配器模式
- 桥接模式
- 组合模式
- 装饰器模式
- 外观模式
- 享元模式
- 代理模式
行为型模式:
- 责任链模式
- 命令模式
- 解释器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 模板方法模式
- 访问者模式
- 迭代子模式