隐藏系统中各个子系统的细节,提供一个统一的接口;但不符合开闭原则。
public class SubSystem1 {
public void operation1() {
System.out.println("operation1");
}
public void operation2() {
System.out.println("operation2");
}
}
public class SubSystem2 {
public void operation3() {
System.out.println("operation3");
}
public void operation4() {
System.out.println("operation4");
}
}
public class Facade {
private SubSystem1 subSystem1;
private SubSystem2 subSystem2;
public Facade() {
subSystem1 = new SubSystem1();
subSystem2 = new SubSystem2();
}
public void run() {
System.out.println("start");
subSystem1.operation1();
subSystem2.operation3();
System.out.println("end");
}
}
@Test
public void FacadeTest() {
Facade facade = new Facade();
facade.run();
}