文档查阅说明:
定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用
使用场景:
● 为一个复杂的模块或子系统提供一个供外界访问的接口
● 子系统相对独立——外界对子系统的访问只要黑箱操作即可
● 预防低水平人员带来的风险扩散
注意:
●一个子系统可以有多个门面
●门面不参与子系统内的业务逻辑
public class SubSystemA {
public void methodA() {
System.out.println("子系统方法A");
}
}
public class SubSystemB {
public void methodB() {
System.out.println("子系统方法B");
}
}
public class SubSystemC {
public void methodC() {
System.out.println("子系统方法C");
}
}
public class SubSystemD {
public void methodD() {
System.out.println("子系统方法D");
}
}
public class Facade {
SubSystemA one;
SubSystemB two;
SubSystemC three;
SubSystemD four;
public Facade() {
one = new SubSystemA();
two = new SubSystemB();
three = new SubSystemC();
four = new SubSystemD();
}
public void interfaceA() {
System.out.println("调用接口A");
one.methodA();
two.methodB();
four.methodD();
}
public void interfaceB() {
System.out.println("调用接口B");
three.methodC();
}
}
public class Test {
public static void main(String[] args) {
Facade facade = new Facade();
facade.interfaceA();
facade.interfaceB();
}
}