在面向对象系统的设计和开发过程中,对象之间的交互和通信是最为常见的的情况。这时候我们需要提供 一个专门用来处理对象交互和通信的类,这个中介者就是Mediator模式。Mediator模式提供将对象的交互和通讯封装在一个类中,各个对象间的通信不必显式的去声明和引用,大大地降低了系统的复杂性能(只需要了解一个对象)。另外Mediator模式还带了对象间的松耦合。
结构图
Mediator PatternMediator 模式中,每个 Colleague 维护一个 Mediator,当要进行交互,例如图中
ConcreteColleagueA 和 ConcreteColleagueB 之间的交互就可以通过 ConcreteMediator 提供的DoActionFromAtoB 来处理, ConcreteColleagueA 和 ConcreteColleagueB 不必维护对各自的引用,甚至它们也不知道各个的存在。
Mediator 通过这种方式将多对多的通信简化为了一(Mediator) 对多(Colleague)的通信。
结论
其实就是用Mediator作为一个容器将多个Colleage类管理起来,并提供他们之间的通信接口
网友评论