1.模式定义:为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
class System1{public void doSomeThing(){System.out.println("System1 working...");};}class System2{public void doSomeThing(){System.out.println("System2 working...");};}class System3{public void doSomeThing(){System.out.println("system3 working...");};}class Facade{static System1 system1 = new System1();static System2 system2 = new System2();static System3 system3 = new System3();public static void doSomeThing(){system1.doSomeThing();system2.doSomeThing();system3.doSomeThing();}}public class FacadeTest {public static void main(String[] args) {Facade.doSomeThing();}}
应用场景
1.当您需要使用复杂子系统的有限但直接的接口时,请使用Facade模式。
2.当您想要将子系统组织成层时,请使用Facade。
优点:
简化客户端的调用
源码中的经典应用
1org.apache.catalina.connector.RequestFacade
