第12章《外观模式》

前端之家收集整理的这篇文章主要介绍了第12章《外观模式》前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

增加外观Facade,可以提供一个简单的接口,减少它们之间的依赖。

添加一个外观Facade层,来提供设计粗糙or高度复杂的遗留代码的比较清晰简单的接口,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作

/**

  • @Author: cxh
  • @CreateTime: 18/1/7 21:14
  • @ProjectName: JavaBaseTest
    */
    public class Client {
    public static void main(String[] args) {
    Facade facade=new Facade();
    facade.method1();
    facade.method2();
    }
    }


/**

  • @Author: cxh

  • @CreateTime: 18/1/7 21:05

  • @ProjectName: JavaBaseTest

  • 外观类
    */
    public class Facade {
    SubSystemA a;
    SubSystemB b;
    SubSystemC c;

    //构造函数
    Facade(){
    a=new SubSystemA();
    b=new SubSystemB();
    c=new SubSystemC();
    }

    //方法1
    public void method1(){
    System.out.println("method1 in facade:");
    a.methodA();
    b.methodB();
    }

    //方法2
    public void method2(){
    System.out.println("method2 in facade:");
    b.methodB();
    c.methodC();
    }
    }



/**

  • @Author: cxh
  • @CreateTime: 18/1/7 21:06
  • @ProjectName: JavaBaseTest
    */
    public class SubSystemA {
    public void methodA(){
    System.out.println("子系统A功能函数调用");
    }
    }


/**

  • @Author: cxh
  • @CreateTime: 18/1/7 21:07
  • @ProjectName: JavaBaseTest
    */
    public class SubSystemB {
    public void methodB(){
    System.out.println("子系统B功能函数调用");
    }
    }


/**

  • @Author: cxh
  • @CreateTime: 18/1/7 21:08
  • @ProjectName: JavaBaseTest
    */
    public class SubSystemC {
    public void methodC(){
    System.out.println("子系统C功能函数调用");
    }
    }

猜你在找的设计模式相关文章