外观模式/门面模式

1.两个行为类

public class SubA {
    public void say(){
        System.out.println("suba say a ....");
    }
}


public class SubB {
    public void say(){
        System.out.println("subb say b ....");
    }
}

2.外观类

public class Facade {
    public void say(){
        new SubA().say();
        new SubB().say();
    }
}


3.程序入口

public class M {
    public static void main(String[] args) {
        Facade f = new Facade();
        
        f.say();
    }
}

外观模式,也称呼门面模式。

我们在什么场景下需要外观模式呢?

栗子:喝茶。
  个人:在家喝茶,需要 找杯具+拿茶叶+烧热水+泡茶,然后才是喝茶
  在茶馆:找服务员,然后就是喝茶
  我们把找杯具+拿茶叶+...的操作全部封装依靠服务员,这样,很大程度的减少了服务对找杯具+拿茶叶等操作的直接访问,在程序上达到了解耦
  其实我们用这个模式很频繁的,比如,一个controller中,访问的一个方法A,这个A方法,除了查询用户的基本信息(名字+性别),很可能还要查询此用户的上下级等信息,大  部分情况,我们都是只暴露一个对外的接口统一的处理这个逻辑。







posted @ 2016-07-14 16:21  Bug开发攻城狮  阅读(92)  评论(0编辑  收藏  举报