大话设计模式-外观模式

外观模式

把子系统的功能封装到一个类里,对外只提供这一个类,适合于老系统对外提供接口

四个子系统

/** * 子系统 1 */
public class SubSystemOne {
    public void method_1() {
        System.out.println("子系统方法 1");
    }
}

/** * 子系统 2 */
public class SubSystemTwo {
    public void method_2() {
        System.out.println("子系统方法 2");
    }
}
/** * 子系统 3 */
public class SubSystemThree {
    public void method_3() {
        System.out.println("子系统方法 3");
    }
}
/** * 子系统 4 */
public class SubSystemFour {
    public void method_4() {
        System.out.println("子系统方法 4");
    }
}

外观类

/** * 外观类 负责对外提供一个接口 */
public class Facade {
    private SubSystemOne subSystemOne;
    private SubSystemTwo subSystemTwo;
    private SubSystemThree subSystemThree;
    private SubSystemFour subSystemFour;

    public Facade() {
        subSystemOne = new SubSystemOne();
        subSystemTwo = new SubSystemTwo();
        subSystemThree = new SubSystemThree();
        subSystemFour = new SubSystemFour();
    }

    public void methodA() {
        System.out.println("方法组合A:");
        subSystemOne.method_1();
        subSystemTwo.method_2();
    }

    public void methodB() {
        System.out.println("方法组合B:");
        subSystemThree.method_3();
        subSystemFour.method_4();
    }
}

测试

public class Main {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.methodA();
        facade.methodB();
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
12-03 15:41
已编辑
淘天 算法工程师 31.0k*16.0
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务