设计模式——中介者模式

    xiaoxiao2021-03-26  27

    中介者(Mediator)模式:用一个中介者来封装一系列的对象交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立改变它们之间的交互。 Mediator:中介者抽象接口,定义一个接口用于与各个Colleague对象通讯; ConcreteMediator:具体中介者,存储并维护各个Colleague对象; Colleague:同事类,每个同事类都知道它的中介者对象,不能与同事进行通讯,只能通过中介者进行通讯; 适用性: (1)当一组对象以有规律的方式通讯,但相互依赖关系混乱时; (2)当一个对象引用其他好多对象并且与这些对象通讯,导致难以复用该对象时; (3)想定制一个发布在多个类中的行为,而又不想生成太多的子类时; 优点: (1)将原本发布在多个对象进的行为集中在Mediator类中,减少了子类生成; (2)将各个Colleague类解耦,可以独立的改变和复用各Colleague类和Mediator类; (3)简化了对象协议; (4)将Colleague对象的交互独立成一个类,有助于弄清系统对象是如何交互的; 缺点: Mediator变得过于复杂,难以维护; 实现: (1)当Colleague仅与一个Mediator工作时,没必要定义一个抽象Mediator类; (2)Colleague与Mediator直接的通讯,一种方式是使用观察者模式,Medaitor实现为一个Observer,各个Colleague作为Subject;另一种方法是Mediator定义一个特殊的通知接口,各个Colleague通讯直接调用该接口。
    转载请注明原文地址: https://ju.6miu.com/read-661134.html

    最新回复(0)