中介者模式
中介者模式通过引入一个中介对象来封装同级组件之间的交互,从而减少对象之间的直接依赖关系,降低耦合度,提高系统的可维护性。
结构
中介者模式示意图
中介者模式中,中介者对象负责协调下级组件在同级间的交互。中介者对象通常会维护一个组件列表,用于存储所有需要协调的组件。
当组件需要与其他组件通信时,它会向中介者对象发送请求,中介者对象会根据请求的内容选择合适的组件进行响应。中介者对象可以根据需要将请求转发给其他组件,也可以将请求广播给所有组件。
消息的发送者不知道最终会由谁来处理自己的请求,接收者也不知道最初是谁发出了请求。
应用场景
- 希望消除同级对象间的直接引用,降低耦合度时
- 希望解耦业务逻辑,编写更易复用的组件代码时