将改变通知其他相关的类(对象/组件)。 (用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。)
(没有的)调停者模式(Mediator):调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显依赖,从而使它们可以松耦合。调停者模式将多对多的相互作用
转化为一对多的相互作用。
职责链模式(Chain of Responsibility):请求在职责链上传递,直到链上的某一个对象决定处理此请求,客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态地重新组织链和分配责任。
备忘录模式(Memento):备忘录对象是一个用来存储另外一个对象内部状态的快照的对象,备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态存储起来,从而可以在将来合适的时候把这个对象还原到存储前的状态。
策略模式(Strategy):策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。(属于对象行为型设计模式)
访问者模式(Visitor):访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。
状态模式(State):状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类,状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。
模板模式和策略模式的应用情景类似,但实现方式不同,前者使用继承,后者使用委托。模板模式的缺点是把具体实现和通用算法紧密地耦合起来,使得具体实现只能被一个通用算法操纵,而策略模式是委托的经典用法,策略模式消除了通用算法和具体实现的耦合,使得具体实现可以被多个通用算法操纵,策略模式也增加了类层次,比模板模式复杂。 4、 为什么要使用设计模式?使用设计模式有哪些好处?
答:
好处:指在软件设计和开发过程中,不断总结出来的,反应了某一类设计问题的解决方案 模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法,设计模式使人们可以更加简单方便地复用成功的设计和体系结构,设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西。设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的