代码设计:设计模式:中介者模式

文章目录

类结构

类A->类Mediator->类B, ->代表依赖

Mediator作为中介者

1.间接实现的A调用B的方法

2.实现A与B的松耦合,B的代码变化尽量不影响A的代码

代码实例

类A

public class A {

    private Mediator mediator;

    public A(Mediator mediator) {

        this.mediator = mediator;
    }

    public void method() {

        mediator.method();
    }
    
}

类Mediator

public class Mediator {

    private B b;

    public Mediator(B b) {

        this.b = b;
    }

    public void method() {

        b.method();
    }
}

类B


public class B {
    
    public void method() {

        ... ...
    }

}


使用代码

B b = new B();
Mediator mediator = new Mediator(b);
A a = new A(mediator);

a.method();//实际上通过中介者,调用b的method()方法

以中介者模式为基础的设计模式

适配器模式

Adapter作为中介者,负责复用旧代码,完成新功能

装饰器模式

装饰器作为中介者,负责扩展旧的功能,在旧的功能的基础上添加新的代码

代理模式

代理器作为中介者,负责对旧功能是否能实现进行条件筛选

观察者模式

被观察者->观察器->观察者

观察器作为中介者,负责传递,把数据或事件从被观察者传递到观察者

外观模式

A->外观->各种子系统

外观和子系统是一对多的依赖关系,一个外观包含多个子系统

外观作为中介者,负责隐藏实现细节,对外所有功能都是外观类实现的,实际上内部是不同的子系统实现的

总结

作为中介者

1.间接实现的A调用B的方法

2.实现A与B的松耦合,B的代码变化尽量不影响A的代码

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值