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

本文介绍了GoF中的中介者模式。

模式推演

当多个对象之间需要协调沟通时:

例如,想要闹钟在固定时间会通知咖啡壶开始煮咖啡,但是周末又不需要,如果是丢垃圾的日子,又需要把闹钟的时刻提前,在洗澡前把喷头关闭15分钟等。

Technology-DesignPattern-Mediator-Request

将这些复杂的沟通逻辑封装

创建一个中介者对象,专门封装这些复杂的沟通逻辑,让各个对象只跟中介者交互,减少对象之间的互相依赖关系。

Technology-DesignPattern-Mediator-Class

定义

中介者模式(Mediator Pattern):集中相关对象之间复杂的沟通和控制方式。

用途:

  • 常用于协调相关的GUI组件。

优点:

  • 通过将对象彼此解耦,可以增加对象的复用性;
  • 通过将控制逻辑集中,可以简化系统维护;
  • 可以让对象之间所传递的消息变得简单而且大幅减少。

缺点:

  • 如果设计不当,中介者对象本身会变得过于复杂。