一、概述
中介者模式(Mediator Pattern):定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。
与外观模式区别:外观模式是主系统与子系统的交互,而中介者模式是子系统之间的交互
实例:游戏的各个系统之间的互相调用
图1各个系统之间的调用杂乱无章,耦合性高,图2使用中介者模式后,由Mediator作为中介调用各个系统的行为,结构清晰
二、使用中介者模式的场合和优缺点
使用终结者模式的场合:
一组定义良好的对象,现在要进行复杂的通信。
定制一个分布在多个类中的行为,而又不想生成太多的子类。
可以看出,中介对象主要是用来封装行为的,行为的参与者就是那些对象,但是通过中介者,这些对象不用相互知道。
使用中介者模式的优点:
降低了系统对象之间的耦合性,使得对象易于独立的被复用。
提高系统的灵活性,使得系统易于扩展和维护。
使用中介者模式的缺点:
中介者模式的缺点是显而易见的,因为这个“中介“承担了较多的责任,所以一旦这个中介对象出现了问题,那么整个系统就会受到重大的影响。