设计模式之旅11--外观模式

2018-07-20  本文已影响90人  小楠总

1. 定义

门面模式,也叫外观模式,是一种比较常用的封装模式:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。

外观模式

2. 使用场景

3. 实现

子系统可以是一个或者很多个类,下面以三个类作为子系统的一个例子(三个类属于近邻,处理相关的业务,应该被认为是一个子系统的不同逻辑处理模块。并且子系统不知道门面角色的存在):

public class ClassA {
    public void doSomethingA() {
        System.out.println("doSomethingA");
    }
}

public class ClassB {
    public void doSomethingB() {
        System.out.println("doSomethingB");
    }
}

public class ClassC {
    public void doSomethingC() {
        System.out.println("doSomethingC");
    }
}

门面角色,客户端可以调用这个角色的方法。此角色知晓子系统的所有功能和责任。一般情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去,也就说该角色没有实际的业务逻辑,只是一个委托类。

public class Facade {

    ClassA mA = new ClassA();
    ClassB mB = new ClassB();
    ClassC mC = new ClassC();

    public void methodA() {
        mA.doSomethingA();
    }

    public void methodB() {
        mB.doSomethingB();
    }

    public void methodC() {
        mC.doSomethingC();
    }
}

4. 优点

5. 缺点

上一篇 下一篇

猜你喜欢

热点阅读