一、按目的和范围分类
-
从目的来看:
• 创建型(Creational)模式:将对象的部分创建工作延迟到子
类或者其他对象,从而应对需求变化为对象创建时具体类型实
现引来的冲击。
• 结构型(Structural)模式:通过类继承或者对象组合获得更灵
活的结构,从而应对需求变化为对象的结构带来的冲击。
• 行为型(Behavioral)模式:通过类继承或者对象组合来划分
类与对象间的职责,从而应对需求变化为多个交互的对象带来
的冲击。
-
从范围来看:
• 类模式处理类与子类的静态关系。
• 对象模式处理对象间的动态关系。
范围/目的 | 创建型 | 结构型 | 行为型 |
---|---|---|---|
类 | Factory Method | Adapter(类) | Interpreter Template Method |
对象 | Abstract Factory Builder Prototype Singleton | Adapter(对象) Bridge Composite Decorator Façade Flyweight Proxy | Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor |
二、从封装变化角度对模式分类
组件协作:
单一职责:
对象创建:
| 对象性能:
接口隔离:
状态变化:
| 数据结构:
行为变化:
领域问题:
|
三、设计模式之间的关系
专属学习链接:https://xxetb.xetslk.com/s/32bi94