一、模式定义
中介者模式(Mediator Pattern):中介者模式就是用一个中介对象来封装一系列的对象的交互,使各对象之间不需要显式地相互作用,降低对象之间的耦合度,中介者是一种对象行为型模式。
所以中介者模式适用于对象之间存在大量的关联的情况,假如一个对象改变了,我们就需要跟踪其关联对象,做出对于调整,耦合度是很大的,所以就可以用中介者模式来降低耦合度。
二、模式角色
中介者模式包括如下角色:
Mediator:抽象中介者
ConcreteMediator:具体中介者
Colleague:抽象同事类
ConcreteColleague:具体同事类
三、模式分析
3.1 模式作用
中介者模式起到中转的作用,当同事类需要调用时,调用中介者就好,不需要调用同事类,中介者模式将同事对象之间的关系行为进行封装,起到了协调的作用
3.2 模式优缺点
中介者模式优点:
简化了对象之间的交互
减少子类生成
解耦各同事类
简化各同事类的设计和实现
中介者模式缺点:
由于对象之间的交互细节处理都放在中介者这里,所以具体中介者类就会随着对象的增多而变得越来越复杂,使中介者类维护起来很困难