设计模式:外观模式-facade

为子系统中的一组接口提供一个一致的界面,facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

这里写图片描述
通过一个代理,把所有对象都收集起来,暴露某些函数给client,使得client可以使用被封装起来的对象

代码

Main

public class Main {

    public static void main(String[] args) {
        Facade facade=new Facade(new SubSystemA(),new SubSystemB(),new SubSystemC());

        facade.methodA();
        facade.methodB();
    }

}

Facade

public class Facade {
    private SubSystemA A;
    private SubSystemB B;
    private SubSystemC C;

    public Facade(SubSystemA a, SubSystemB b, SubSystemC c) {
        A = a;
        B = b;
        C = c;
    }

    public void methodA(){
        System.out.println("begin facade-methodA");
        this.A.methodA();
        this.C.methodC();
        System.out.println("end facade-methodA");
    }

    public void methodB(){
        System.out.println("begin facade-methodB");
        this.B.methodB();
        this.C.methodC();
        System.out.println("end facade-methodB");
    }

}

SubSystemA

public class SubSystemA {

    public void methodA(){
        System.out.println("A 的方法");
    }
}

SubSystemB

public class SubSystemB {

    public void methodB(){
        System.out.println("B 的方法");
    }
}

SubSystemC

public class SubSystemC {

    public void methodC(){
        System.out.println("C 的方法");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值