行为模式10-行为模式总结
2018-04-16 本文已影响0人
sunblog
行为模式10-行为模式总结
行为模式总共有11个设计模式:
- 观察者模式(Observer)
- 中介者模式(Mediator)
- 模板方法(Template Method)
- 策略模式(Strategy)
- 命令模式(Command)
- 职责链模式(Chain Of Responsibility)
- 状态模式(State)
- 访问者模式(Visitor)
- 迭代器模式(Iterator)
- 备忘录模式(Memento)
- 解释器模式(Interpreter)
比较
Mediator和Observer:这两个模式是相互竞争的模式。它们之间的差别是,Observer通过引入Observer和Subject对象来分布通信,而Mediator对象则封装了和其他对象的通信。
Mediator和Facade:Mediator的目的是简化对象间通信,各对象只知道Mediator而不知道Colleague对象。Facade的目的是封装子系统,简化客户的访问。Mediator模式中,各对象只能通过mediator通信,这种通信可以是双向的,即子对象能访问mediator。Facade模式中,只能通过facade访问子系统,子系统不能访问facade,这种通信方式是单向的,即子对象不能访问facade。
Visitor和Iterator:Visitor的目的是在不改变各Element类的情况下,定义新的作用于各Element的操作。Iterator的目的是顺序访问聚合对象中的各个元素,而不暴露该聚合对象的内部表示。