Aha!设计模式(91)-中介者模式(3)

网友投稿 781 2022-11-12

Aha!设计模式(91)-中介者模式(3)

Aha!设计模式(91)-中介者模式(3)

结构

中介者模式的想法是当多个对象为了同一个目的需要相互协作时,指定一个中介对象作为业务的中枢,以降低各个对象之间的耦合程度,其结构如下:

参与者

• Mediator(抽象中介者类)

—中介者类Mediator可以定义接口用于与各同事(Colleague)对象之间通信。之所以说是可以,是因为定义一个对将来也适用的通知接口并不是一件容易的事。要么扩展性不好,要么过于模糊,而且由此带来的好处也不是很显著。

•ConcreteMediator(具象中介者类)

— 具象中介者类了解并维护各个同事对象。中介者类的职责就是吸收软件功能中无法共通的部分,因此这种强耦合不算什么缺点。

— 具象中介者了解类同事对象的细节,因此也是协调各同事对象实现协作行为的最佳人选。

— 有一点比较模糊:中介者是否算是同事的一员。作者的观点中介者是作为管理者似乎说明更加顺畅。

• Colleague(同事类)

— 同事类(只)了解中介者对象。

由于中介者类的存在,同事类不需要了解软件的业务逻辑,只是根据自身的功能需求和中介者进行通信。

协作

同事对象和中介者对象之间进行请求和信息的交互,而中介者根据业务的需求对信息进行处理或转发。

注:文中类中引用自《设计模式》一书。

觉得本文有帮助?请分享给更多人。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Log4j如何屏蔽某个类的日志打印
下一篇:C++核心准则T.68:在模板中使用{}代替()以避免歧义
相关文章

 发表评论

暂时没有评论,来抢沙发吧~