Wetts's blog

Stay Hungry, Stay Foolish.

0%

设计模式之禅-第14章-中介者模式

中介者模式(Mediator)

定义:Define an object that encapaulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interation independently.(用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。)


中介者模式的优点:

  • 减少类间的依赖,把原有的一对多的依赖变成一对一的依赖,同事类依赖中介者,较少了依赖,当然同事也降低了类间的耦合。

中介者模式的缺点:

  • 使用不当时复杂程度会被放大。

中介者模式的实际应用:

  • 机场调度中心;
  • MVC框架;
  • 媒体网关;
  • 中介服务。

以下情况尝试使用中介者模式:

  • N个对象之间产生了相互的依赖(N>2);
  • 对各对象有依赖关系,但是依赖的行为尚不确定或者有发生改变的可能,在这种情况下一般建议采用中介者模式,降低变更引起的风险扩散;
  • 产品开发。