中介者模式

it2022-05-05  184

一,简介

中介者模式(Mediator Pattern):是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为模式。

二,角色

Mediator

抽象中介者,定义了同事对象到中介者对象的接口

ConcreteMediator

具体中介者对象,实现抽象类方法,它需要知道所有具体同事类,并从具体同事类接受消息,向具体同事类对象发出命令

Colleague

抽象同事类

ConcreteColleague 1

具体同事类,每个具体同事只知道自己的行为,而不了解其它同事类的情况,但它们却都认识中介者对象

三,举例

四,优缺点

优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。

缺点:中介者会庞大,变得复杂难以维护。

五,使用场景

1、系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象。

2、想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类。

应用实例: 1、中国加入 WTO 之前是各个国家相互贸易,结构复杂,现在是各个国家通过 WTO 来互相贸易。 2、机场调度系统。 3、MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。

 


最新回复(0)