设计模式之 【中介者模式】
中介者模式 定义:
用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立得改变他们之间得交互。
理解:
各对象显式地持有对方引用, 用于对象之间的交互, 交互关系形成网状结构, 不利于系统维护以及开发人员的理解. 这时可以定义一个中介者对象, 封装注册各对象的引用, 以及完成对象之间的交互操作. 同事对象之间不能直接交互, 它们之间的交互, 需要委托给中介者对象完成, 即 同事对象除了完成自己本身的操作之外, 只和中介者打交道(符合最少知识原则), 如此一来, 交互关系将由复杂的网状结构变成星型结构. 方便系统维护以及开发人员的理解.
优点:
灵活性高,可以将同事类进行解耦,使其不必有关联性。
降低了类的复杂度,将一对多转化为一对一。
缺点:
中介者使用过多,会使系统变得复杂难以维护;