当多个类彼此关联,会增大耦合性,这时各个模块通过中介者进行交流,每个模块只负责自己的业务逻辑,
不属于自己的就丢给中介者,降低耦合。
定义:
用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示的相互作用,
从而使其耦合松散,而且可以独立的改变他们之间的交互。
举个例子:
Facade门面。
比如网上的天气接口api,我们在外部访问接口直接就可以获取天气数据了,但实际它的内部可能包含多个系统,
有测风力的,有测温度的,有测湿度的,有测雷雨的等等,我们通过它提供的api接口就可以直接获取到所有数据,
这个接口就相当于一个门面Facade,通过这个门面直接就可以拿到想要的数据,而不需要去管它内部各个系统之间的关系。
Mediator调停者。
还是天气接口,上面举例说了门面模式。那么它的内部,也需要有这么一个模块来管理各个系统之间的关系。
比如测雷雨的系统,它测的时候需要和测风力的系统之间相互配合,根据风向和风力来推断何时下雨等等。
那么各个系统之间的交互是非常复杂的。如果此时新增一个系统,那么这个系统又会非常复杂的与其他系统
之间建立交互。那么这时候就出现一个调停者,大家全都通过它来与各个系统之间交互。它和门面模式有些类似,
只不过一个是对内,一个是对外。这就是调停者模式。当然,他们俩也可以使用同一个模块。非常类似。
这种模式在实际应用中,有非常广泛的应用。比如MQ消息中间件等等。消息中间件就是Mediator调停者。

