门面模式:Facade Pattern,提供了一个统一的接口,用来访问子系统中的一群接口
- 其主要特征是定义了一个高层接口,让子系统更容易使用,属于结构型设计模式
应用场景:
- 为一个复杂的模块或子系统提供一个简洁的供外界访问的接口
- 希望提高子系统的独立性时
- 当子系统由于不可避免的暂时原因导致可能存在Bug或性能相关问题时,可以通过门面模式提供一个高层接口,隔离客户端与子系统的直接交互,预防代码污染
public class FacadeDemo {public static void main(String[] args) {// 门面模式一般是用来整合系统的复杂API,对外提供统一的功能Facade facade = new Facade();facade.doA();facade.doB();facade.doC();}static class Facade {private SubSystemA systemA = new SubSystemA();private SubSystemB systemB = new SubSystemB();private SubSystemC systemC = new SubSystemC();public void doA() {systemA.doA();}public void doB(){systemB.doB();}public void doC(){systemC.doC();}}static class SubSystemA{// 子系统Apublic void doA() {System.out.println("A系统提供的功能");}}static class SubSystemB{public void doB() {System.out.println("B系统提供的功能");}}static class SubSystemC{public void doC() {System.out.println("C系统提供的功能");}}}
