这几种行为型设计模式分别为:
- Template Method 模板方法模式
- Command 命令模式
- Interpreter 解释器模式
- Mediator 中介者模式
- Iterator 迭代器模式
- Observer 观察者模式
- Chain Of Responsibility 职责链模式
- Memento 备忘录模式
- State 状态模式
- Strategy 策略模式
- Visitor 访问者模式
对比:
- Template Method模式封装算法结构,支持算法子步骤变化
- Strategy 策略模式注重封装算法,支持算法的变化
- State模式注重封装与状态相关的行为,支持状态的变化
- Memento备忘录模式注重封装对象状态变化,支持状态保存/恢复
- Mediator 中介者模式注重封装对象间的交互,支持对象交互的变化
- Chain Of Responsibility 模式注重封装对象责任,支持责任的变化
- Command 模式注重将请求封装为对象,支持请求的变化
- Iterator 迭代器模式注重封装集合对象内部结构,支持集合的变化
- Interpreter 解释器模式注重封装特定领域变化,支持领域问题的频繁变化
- Observer 模式注重封装对象通知,支持通信对象的变化
- Visitor 模式注重封装对象操作变化,支持在运行时为类层次结构动态添加新的操作。
参考:
学习笔记:7种结构型设计模式简单对比
http://blog.joycode.com/ghj/archive/2009/06/08/115607.joy
学习笔记:5种创建型设计模式简单对比
http://blog.joycode.com/ghj/archive/2009/05/08/115570.joy
Gof 23 中模式关系图
http://www.blogjava.net/images/blogjava_net/fantasyamin/design_pattern_relation.png