外观模式是客户端和子系统的一个中介——外观类,统筹各子系统的功能,各客户端只需和中介交互而无需关心各子系统。
子系统A:SystemA.java
public class SystemA {
public void operate() {
System.out.println("System A works ...");
}
}
子系统B:SystemB.java
public class SystemB {
public void operate() {
System.out.println("System B works ...");
}
}
子系统C:SystemC.java
public class SystemC {
public void operate() {
System.out.println("System C works ...");
}
}
外观类:Facade.java
public class Facade {
private SystemA sysA;
private SystemB sysB;
private SystemC sysC;
public Facade() {
sysA = new SystemA();
sysB = new SystemB();
sysC = new SystemC();
}
public void getABC() {
sysA.operate();
sysB.operate();
sysC.operate();
}
}
驱动类:Main.java
public class Main {
public static void main(String[] args) {
Facade facade = new Facade();
facade.getABC();
// System A works ...
// System B works ...
// System C works ...
}
}