中介者模式

中介者模式用一个中介者对象封装一系列对象之间的交互,使得各个对象之间不必显式地相互引用,从而达到解耦的目的,并且可以独立的改变对象之间的交互。

中介者模式的缺点是:中介者对象需要了解对象之间的交互的细节,所以中介者对象非常臃肿。因此当系统中出现多对多的复杂交互时,应该先考虑系统的设计是否合理,而不是直接使用中介者模式。


角色

具体中介者对象需要保存所有具体同事对象的引用。具体中介者对象一方面要接收来自具体同事对象的消息;另外一方面又要向具体同事对象发送消息


UML 类图

mediator.jpg