Java设计模式之中介者模式
一、概念
中介者模式是一种行为设计模式,能减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。对象之间不再直接交互,而是通过中介者间接交互。这样可以减少对象之间的依赖,实现解耦。中介者就像是对象之间的调停者,协助对象間的交流与相互操作。
二、解决的问题
主要解决当对象与对象之间存在大量关联关系时,若一个对象发生改变,要跟踪与之相关的对象,同时做出相应处理的问题。
三、应用场景
- 当一些对象与其他对象紧密耦合以至于难以对其进行修改时,可使用中介者模式。
- 当组件因过于依赖其他组件而无法在不同应用中复用时,可使用中介者模式。
- 为了在不同情景下复用一些基本行为,导致需要被迫创建大量组件子类时,可使用终结者模式。
四、中介者模式优缺点
1、优点
- 单一职责原则:可以将多个组件间的交流抽取到同一位置,使其更易于理解和维护。
- 开闭原则:无需修改实际组件就能增加新的中介者。
- 可以减轻应用中多个组件的耦合情况。
- 可以更方便地复用各个组件。
2、缺点
以更方便地复用各个组件。