目录
1.设计目的
主要是为了解耦:
a) 对象间的关系抽取成中介者对象.当一个对象和其他对象紧密耦合以致于难以对其进行修改时,可以使用中介者模式,将对象间的关系抽取称为一个单独的类,以使对特定组件的修改工作独立于其他组件.
b) 当组件因过于依赖其他组件而无法在不同应用中复用时,可以使用中介者对象进行对象解耦,只是,应用到不同的程序可能就会要不同功用的中介者对象.
c) 如果为了能在不同情景下复用一些基本行为, 导致你需要被迫创建大量组件子类时, 可使用中介者模式。
由于所有组件间关系都被包含在中介者中, 因此你无需修改组件就能方便地新建中介者类以定义新的组件合作方式
2.UML设计
以门禁为例,识别-开门, 需要时可将Mediator抽象为派生对象。
3.代码实现
代码见:https://github.com/luozichao324/Design-Patterns/tree/main/Mediator/Mediator