1 外观模式:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。
1 public class Class1 { 2 public void method1(){….} 3 } 4 5 public class Class2 { 6 public void method2(){….} 7 } 8 9 public class Class3 { 10 public void method3(){….} 11 } 12 public class Class4 { 13 public void method4(){….} 14 }
假如客户程序要使用Class1、Class2、Class3,Class4完成一项业务功能
1 public class ClientNoFacade { 2 public void methodA() {//完成第一项业务功能 3 Class1 c1 = new Class1(); 4 c1.method1(); 5 Class2 c2 = new Class2(); 6 c2.method2(); 7 Class3 c3 = new Class3(); 8 c3.method3(); 9 Class4 c4 = new Class4(); 10 c4.method4(); 11 }
测试:
1 public class Test { 2 3 public static void main(String[] args) { 4 ClientNoFacade cnf= new ClientNoFacade(); 5 cnf.methodA(); 6 } 7 8 }
这个模式还是很简单的!
他的适用情况呢:
1)为一个复杂子系统提供一个简单接口。
2)提高子系统的独立性。
3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。