中介者模式

Posted 学习笔记和总结

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中介者模式相关的知识,希望对你有一定的参考价值。

中介者模式:

行为类模式,用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式。

结构:

解决一系列对象之间复杂的耦合关系,这一系列对象往往是相互依赖的关系,中介者模式采用一个中介者对象将这一系列对象集中管理,而各个对象也将自己与其它对象的交互行为委托给中介者处理,从而减少对象之间的耦合,将网状结构变为星形结构。

 

角色:

抽象同事类:定义相互作用类的共同属性

同事类:相互作用的类,集成抽象同事类

抽象中介类:定义中介类的抽象实现

中介类:定义实际中介类

 

示例:

 

 

优点:

清除了一系列对象之间复杂的耦合关系,并且中介者可以控制这一系列对象的行为,统一管理。

缺点:

由于中介者负责着一系列对象的交互与控制,所以中介者的类会非常复杂,而且一旦中介者类无法正常工作,那么所有将行为委托给中介者的类都将会出现问题。

 

.

以上是关于中介者模式的主要内容,如果未能解决你的问题,请参考以下文章

Python 设计模式 — 行为型模式 — 中介者模式

Python 设计模式 — 行为型模式 — 中介者模式

中介者模式

中介者模式(Mediator Pattern)

手撸golang 行为型设计模式 中介者模式

设计模式--14中介者模式