设计模式:门面模式

定义

门面模式:又叫做外观模式,提供一个统一的接口,来访问子系统的一群接口。主要特征是定义一个高层接口,让子系统更容易使用,属于结构型设计模式。

使用场景:

  • 为一个复杂模块或者子系统提供一个简洁的供外界访问的接口。
  • 希望提高子系统的独立性。
  • 提供高层接口,隔离客户端和子系统直接交互,预防代码污染

其实在日常编码中,我们都有意无意地大量使用门面模式。

通用写法

代码很简单。

//A子系统
public class SubSystemA {
    public void doA(){
        System.out.println("SubSystemA doA");
    }
}
//B子系统
public class SubSystemB {
    public void doB(){
        System.out.println("SubSystemA doB");
    }
}
//门面角色
public class Facade {
    SubSystemA systemA = new SubSystemA();
    SubSystemB systemB = new SubSystemB();

    public void doA(){
        systemA.doA();
    }

    public void doB(){
        systemB.doB();
    }
}

我们客户端不需要知道A子系统和B子系统,只需要有门面角色就行了,使用门面角色去调用相关子系统。

public class Client {
    public static Facade facade = new Facade();

    public static void main(String[] args) {
        facade.doA();
        facade.doB();
    }
}

类图:

image-20201226222412490

原文地址:https://www.cnblogs.com/wwjj4811/p/14194724.html