码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-04-05 18:39:27      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:pre   外观模式   ODB   使用   done   ring   重构   class   系统开发   

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

二、代码:

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类来与老系统做交互。

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

标签:pre   外观模式   ODB   使用   done   ring   重构   class   系统开发   

原文地址:https://www.cnblogs.com/zsmcwp/p/12638162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!