欢迎关注我的公众号

设计模式-行为型-中介者模式

2022-08-18 09:59
226
0
添加收藏

定义:

中介者模式​用一个中介对象来封装一些列的对象交互。
 

中介者不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间地交互​
 

 

 

UML

 

代码实现

Mediator抽象中介者类

Colleague抽象同事类

ConcreteColleague1同事具体


ConcreteColleague2同事具体2

ConcreteMediator中介者具体

客户端代码

 

总结

​优点:

 1、降低了类的复杂度,将一对多转化成了一对一。

2、各个类之间的解耦。

3、符合迪米特原则。

 

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

 

使用场景:

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

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

 

注意事项:不应当在职责混乱的时候使用。

全部评论