大话设计模式----外观模式

Posted zsmcwp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话设计模式----外观模式相关的知识,希望对你有一定的参考价值。

一、外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统的操作更加容易。

二、代码:

public class SubSystemOne {
    public void methodOne(){
        System.out.println("子系统方法一");
    }
}

public class SubSystemTwo {
    public void methodTwo(){
        System.out.println("子系统方法二");
    }
}

public class SubSystemThree {
    public void methodThree(){
        System.out.println("子系统方法三");
    }
}

public class SubSystemFour {
    public void methodFour (){
        System.out.println("子系统方法四");
    }
}

public class Facade {
    SubSystemOne subSystemOne;
    SubSystemTwo subSystemTwo;
    SubSystemThree subSystemThree;
    SubSystemFour subSystemFour;

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

    public void methodA(){
        System.out.println("========methodA=========");
        subSystemOne.methodOne();
        subSystemTwo.methodTwo();
        subSystemFour.methodFour();
    }

    public void methodB(){
        System.out.println("=========methodB=========");
        subSystemTwo.methodTwo();
        subSystemThree.methodThree();
    }
}

public class Test {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.methodA();
        facade.methodB();
    }

    /** result
     * ========methodA=========
     * 子系统方法一
     * 子系统方法二
     * 子系统方法四
     * =========methodB=========
     * 子系统方法二
     * 子系统方法三
     */
}

三、使用场景

  1.设计初期,应该有意识的将不同的两个层分离,层与层之间建立外观Facade。

  2.在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观Facade可以提供一个简单的接口,减少它们之间的依赖。

  3.维护一个遗留的难以维护和扩展的系统时,为新系统开发一个外观Facade类,新系统通过Facade类来与老系统做交互。

以上是关于大话设计模式----外观模式的主要内容,如果未能解决你的问题,请参考以下文章

java 之 外观模式(大话设计模式)

大话涉及模式Python实现-外观模式

大话设计模式-外观模式

大话设计模式-外观模式

大话设计模式读书笔记--8.外观模式

《大话设计模式》——读后感 牛市股票还会亏钱?——外观模式