更多内容请见:100天Go语言从入门到精通系列-专栏介绍和目录
一、中介者模式概述
1.1 中介者模式介绍
中介者模式是一种行为设计模式,它让你能减少一系列对象之间混乱的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。
想象一下机场的塔台。飞行员不会直接与其他飞行员沟通来决定谁可以降落,而是所有人都向塔台(中介者)报告,由塔台来协调降落顺序。这样,飞行员(同事对象)之间就解耦了,塔台集中控制了所有的通信逻辑。
1.2 模式核心概念
中介者模式主要包含四个核心角色:
-
Mediator (中介者):
- 定义一个接口,用于与各同事对象(Colleague)之间通信。
-
ConcreteMediator (具体中介者):
- 实现中介者接口,协调各个同事对象之间的交互。
- 它知道并维护所有的同事对象,并负责它们之间的逻辑协调。
-
Colleague (同事):
- 定义一个接口,让同事对象知道其中介者是谁。通常,每个同事对象都持有一个对中介者的引用。
-
ConcreteColleague (具体同事):
- 实现同事接口。当它需要与其他同事通信时,它不是直接调用对方,而是通过自己持