什么是中介者模式?
首先中介者模式(Mediator Pattern)属于行为模式。主要是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常用来处理不同类之间的通信,并支持松耦合,使代码易于维护。
简单来说,中介者就是中间人的意思。
比如,之前常使用的MVC模式,C(Controller控制器)是M(Model模型)和V(View试图)的中介者,在前后端交互时起到中间人的作用。
再比如,房产买卖房产时的房产中介,就是购买者和出售者的中间人。
中介者模式的主要目的就是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
为什么要使用中介者模式?
我们用一个现实中的小例子来说明为什么要使用中介者模式。
例如,飞机起飞和降落。我们都知道在现实生活中飞机起飞和降落都需要通过管制中心来确定是否允许。假如说我们没有这个管制中心,为确保安全,一架飞机在起飞和降落时就需要向别的飞机同时通信,告知自己即将起飞和降落。此时的示例图如下: