Flutter开发App的未来及其在各行业的应用潜力分析
771
2022-11-12
Aha!设计模式(91)-中介者模式(3)
结构
中介者模式的想法是当多个对象为了同一个目的需要相互协作时,指定一个中介对象作为业务的中枢,以降低各个对象之间的耦合程度,其结构如下:
参与者
• Mediator(抽象中介者类)
—中介者类Mediator可以定义接口用于与各同事(Colleague)对象之间通信。之所以说是可以,是因为定义一个对将来也适用的通知接口并不是一件容易的事。要么扩展性不好,要么过于模糊,而且由此带来的好处也不是很显著。
•ConcreteMediator(具象中介者类)
— 具象中介者类了解并维护各个同事对象。中介者类的职责就是吸收软件功能中无法共通的部分,因此这种强耦合不算什么缺点。
— 具象中介者了解类同事对象的细节,因此也是协调各同事对象实现协作行为的最佳人选。
— 有一点比较模糊:中介者是否算是同事的一员。作者的观点中介者是作为管理者似乎说明更加顺畅。
• Colleague(同事类)
— 同事类(只)了解中介者对象。
由于中介者类的存在,同事类不需要了解软件的业务逻辑,只是根据自身的功能需求和中介者进行通信。
协作
同事对象和中介者对象之间进行请求和信息的交互,而中介者根据业务的需求对信息进行处理或转发。
注:文中类中引用自《设计模式》一书。
觉得本文有帮助?请分享给更多人。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~