中介者模式-Mediator

中介者模式:用一个中介者对象来封装一系列对象的交互.中介者使各个对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互.

中介模式优缺点:

  • 优点:Mediator的出现减少了各个Colleague的耦合,使得可以独立的改变和复用各个Colleague和Mediator类,由于对象如何协作进行了抽象,将中介者作为一个独立的概念并将其封装在一个对象中,这样关注的角度就从各对象本身的行为转移到它们之间的交互上来,也就是在一个更宏观的角度上去看待系统.
  • 缺点:由于ConcreMediator控制的集中化,于是把交互的复杂性变为了中介者的复杂性,这就使得中介者会变得比任何一个Colleague都复杂.

中介者模式的应用场合:

  • 一般应用与一组对象定义良好但是以复杂的方式进行通信的场合.
  • 以及想控制一个分布在多个类中的行为,又不想生成太多子类的场合.

中介者模式结构图:

代码实现:

 

(本随笔参考程杰老师的<<大话数据结构>>完成)

原文地址:https://www.cnblogs.com/LionheartCGJ/p/7067572.html