中介者模式(Mediator Pattern)

中介者模式(Mediator Pattern)

定义

又称为调解者模式,或调停者模式。
中介者模式定义了一个中介对象来封装一系列对象之间的交互,使得这些对象不需要直接相互通信,而是通过与中介者进行通信。

通过中介者解耦系统各层次对象的直接耦合,层次对象的对外依赖通信统统交由中介者转发。

属于行为型模式。

在这里插入图片描述

特点:

  • 解耦关联对象:通过引入中介者来减少各个相关对象之间的直接依赖关系。
  • 集中控制逻辑:将复杂的交互逻辑集中在一个中介者类中管理和处理。
  • 促进可扩展性:新添加或修改现有相关对象时,只需修改或扩展中介者类而无需改变其他部分。
  • 降低耦合性:各个对象只需要知道中介者对象,而无需了解其他对象的具体细节。

适用场景:

  1. 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解。
  2. 交互的公共行为,如果需要改变行为则可以增加新的中介者类。

标准示例

在这里插入图片描述

  • 抽象中介者(Mediator):定义中介者的接口,用于封装对象之间的交互行为。它持有其他具体同事类的引用。
/**
 * 抽象中介者
 */
public abstract class Mediator {
   
    protected ConcreteColleagueA colleagueA;
    protected ConcreteColleagueB colleagueB;

    public void setColleagueA(ConcreteColleagueA colleagueA){
   
        this.colleagueA = colleagueA;
    }

    public void setColleagueB(ConcreteColleagueB colleagueB){
   
        this.colleagueB = colleagueB;
    }

    //中介者业务方法
    public abstract void transferA();

    public abstract void transferB();

}
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值