外观模式(Facade Pattern)

外观模式(Facade Pattern)

作用是为一个复杂的子系统对外提供一个易用的接口.
Facade: 外观角色, 该角色在子系统和客户端之间做了一层隔离, 对客户端屏蔽了功能的具体实现细节, 只需要调用外观角色对外提供好的接口即可.
SubSystem: 子系统可以是一个类,也可以是一个功能模块或者是完整的系统

示例代码

// 子系统
public class SubSystemA {
    
    
    public void methodA() {
    
    
        // ... 业务代码
    }
}

public class SubSystemB {
    
    
    public void methodB() {
    
    
        // ... 业务代码
    }
}

public class SubSystemC {
    
    
    public void methodC() {
    
    
        // ... 业务代码
    }
}
// 外观角色
public class Facade {
    
    
    private SubSystemA subSystemA = new SubSystemA();
    private SubSystemB subSystemB = new SubSystemB();
    private SubSystemC subSystemC = new SubSystemC();

    // 对外提供的接口
    public void doSomething() {
    
    
        // 将A, B, C系统的协作完成的功能封装到外观角色中
        subSystemA.methodA();
        subSystemB.methodB();
        subSystemC.methodC();
    }
}
// 客户端调用外观角色提供的接口
public class Test {
    
    
    public static void main(String[] args) {
    
    
        Facade facade = new Facade();
        facade.doSomething();
    }
}

猜你喜欢

转载自blog.csdn.net/sunday2018/article/details/120636731
今日推荐