【起源】
多个对象互相关联交互的情况,在对象间须维持复杂的引用关系,不容易应对变化;
创建一个“中介对象”来关联对象间的关联关系,任意两个对象之间不用直接通信,它们通过“中介对象”来通信。
耦合降低,更容易应对变化。
【动机】
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们直接的交互。
【核心】
将多个对象的交互行为集中封装到“中介对象”中,各个对象就是“中介对象”的注册会员,它们把原来直接的交互转化为“直接与中介通信”。
中介接收会员的消息,将所有会员的行为作为资源,整合并完成处理,相当于110指挥控制中心,主管协调。
【代码实例】
【模型图】