对象模式 中介者模式

中介者模式(Mediator Pattern): 用一个终结者对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。中介者模式又称为调停者模式,它是一种对象型行为模式。

 

模式动机:

  对于一个模块,可能由很多对象构成,而且这些对象之间可能讯在相互引用的关系,使之成为一个松耦合的系统,我们需要使用中介者模式。

 

模式分析:

  中介者可以使对象之间的关系数量急剧减少,中介者主要承担两方面的职责,中转作用协调作用,

  中转作用就是各个同时对象不需要在显式的引用其他同事,当需要和其他同事通信时,通过中介者即可,该中转作用属于中介在结构上的支持。

  协调作用,中介者可以更进一步的对同事之间的关系进行封装,该协调作用属于在行为上的支持。

 

模式结构:

  • Mediator : 抽象中介者
  • ConcreteMediator: 具体中介者
  • Colleage: 抽象同事类
  • ConcreteColleague: 具体同时类

具体类图:

 

中介者模式的优缺点:

 优点:

  • 简化了对象之间的交互
  • 将各同事解耦
  • 减少了子类的生成
  • 简化各同事类的设计和实现

 缺点:

  在具体中介者模式中包含了同事之间的交互细节,可能会导致具体中介者非常复杂,难以维护。

 

posted @ 2021-11-29 22:28  见怪见外  阅读(185)  评论(0编辑  收藏  举报