Define an object that encapsulates 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 interaction independently;
使用中介对象封装一系列对象的交互,使得对象不需要显示地相互作用,从而使得其耦合松散,而且可以独立地改变他们之间的交互;
中介者模式极善于处理对象间复杂的相互作用~他通过减少类间的依赖,是原来一对多的依赖(一个对象依赖多个其他对象)变成了一对一的依赖(一个对象依赖一个中介者对象);降低了类间耦合,自然提高了系统的稳定性和可维护性;
中介者模式中的中介者类也容易变得庞大而复杂,虽然该实现的逻辑一样都不会少,也一样不会多,但是由于中介模式将原本分布在各个类中间的“交互代码”集中由中介者处理,复杂就在所难免;如果对线之间出现了紧密耦合的情况,就应该要考虑中介者模式了,所谓紧密耦合是说“蜘蛛网”班的结构;
中介者模式的实现核心就是将右图的结构变为左图!