Mediator 中介者模式

中介者模式(Mediator pattern)解决的问题 优缺点:(着重需要了解学习Mass Transit  Mediator)

1.概述:用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式是“迪米特法则”的一个典型应用

2. 模式中的角色(仅仅自己记录笔记而已)

  2.1 Mediator(抽象中介者):它定义一个接口,该接口用于与各同事对象之间进行通信。

  2.2 ConcreteMediator(具体中介者):它是抽象中介者的子类,通过协调各个同事对象来实现协作行为,它维持了对各个同事对象的引用。

  2.3 Colleague(抽象同事类):它定义各个同事类公有的方法,并声明了一些抽象方法来供子类实现,同时它维持了一个对抽象中介者类的引用,其子类可以通过该引用来与中介者通信。

  2.4 ConcreteColleague(具体同事类):它是抽象同事类的子类;每一个同事对象在需要和其他同事对象通信时,先与中介者通信,通过中介者来间接完成与其他同事类的通信;在具体同事类中实现了在抽象同事类中声明的抽象方法。

 

4 模式优缺点

4.1 优点

  • 简化了对象之间的关系,将系统的各个对象之间的相互关系进行封装,将各个同事类解耦,使系统成为松耦合系统。

  • 减少了子类的生成。

  • 可以减少各同事类的设计与实现。

4.2 缺点

由于中介者对象封装了系统中对象之间的相互关系,导致其变得非常复杂,使得系统维护比较困难。

5.适用场景

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

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

 参考博客地址:https://zhuanlan.zhihu.com/p/346511259

posted @ 2022-07-04 17:05  忽如一夜娇妹来  阅读(54)  评论(0编辑  收藏  举报