1. 定义
为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2. 实现
2.1 SubSystem1、SubSystem2、SubSystem3
class SubSystem1 {public void method1() {System.out.println("SubSystem1.method1 executed.");}}class SubSystem2 {public void method2() {System.out.println("SubSystem2.method2 executed.");}}class SubSystem3 {public void method3() {System.out.println("SubSystem3.method3 executed.");}}
2.2 Facade
class Facade {SubSystem1 subSystem1 = new SubSystem1();SubSystem2 subSystem2 = new SubSystem2();SubSystem3 subSystem3 = new SubSystem3();public void doSomethingFacade() {subSystem1.method1();subSystem2.method2();subSystem3.method3();}}
2.3 Client1、Client2
客户端调用三个子系统的方法就可以通过Facade层,不需要每个子系统逐一调用
class Client1 {Facade facade = new Facade();public void doSomething() {facade.doSomethingFacade();}}class Client2 {Facade facade = new Facade();public void doSomething() {facade.doSomethingFacade();}}
