定义
为复杂系统提供了一个简化的接口,隐藏了系统的复杂性,使得客户端更容易使用系统。
UML类图
Java代码
系统A
class SubsystemA {
public void operationA() {
System.out.println("子系统A的操作");
}
}
系统B
class SubsystemB {
public void operationB() {
System.out.println("子系统B的操作");
}
}
外观类
class Facade {
private SubsystemA subsystemA;
private SubsystemB subsystemB;
public Facade() {
this.subsystemA = new SubsystemA();
this.subsystemB = new SubsystemB();
}
// 提供一个简化的接口,封装了对子系统的调用
public void operation() {
subsystemA.operationA();
subsystemB.operationB();
}
}
使用类
public class FacadePatternExample {
public static void main(String[] args) {
Facade facade = new Facade();
facade.operation(); // 输出:子系统A的操作 子系统B的操作
}
}
总结
使用外观模式可以封装类方法的内部实现。