用途

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

要素

  • 中介者接口 Mediator:包含各个对象之间的交互行为。
  • 中介者实现类 ConcreteMediator:组合并维护各个对象,实现各个对象之间的交互行为。
  • 普通类a/b/c/d:相互之间有交互行为的众多类。
  • 示例图:

中介者模式.jpg

优缺点

  • 将对象的交互集中在中介者中,实现了对象与交互的解耦,便于维护。