外观模式
1、个人理解:有时候我们要去访问很多类里面的方法会比较麻烦,就想,我可不可以只访问一次就可以访问到所有的类,这样就有了外观模式,他在类A中封装了一个方法对其它很多类B,C,D...中的方法进行访问,那么我们要访问B,C,D...类中的方法就只需要访问A中的一个方法就可以了。
2、定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
3、代码:
1)、子系统
1 class systemOne 2 { 3 public void systemOneMethod() { 4 Console.WriteLine("系统一的方法!"); 5 } 6 } 7 class systemTwo 8 { 9 public void systemTwoMethod() 10 { 11 Console.WriteLine("系统二的方法!"); 12 } 13 } 14 class systemThree 15 { 16 public void systemThreeMethod() 17 { 18 Console.WriteLine("系统三的方法!"); 19 } 20 }
2)外观类
1 class Facade 2 { 3 //具有所有的子系统,并作为自己的属性 4 systemOne one; 5 systemTwo two; 6 systemThree three; 7 8 //在构造方法中初使用这些子系统 9 public Facade() 10 { 11 one = new systemOne(); 12 two = new systemTwo(); 13 three = new systemThree(); 14 } 15 16 //具有一个对所有子系统进行操作的方法 17 public void MethodAll() { 18 one.systemOneMethod(); 19 two.systemTwoMethod(); 20 three.systemThreeMethod(); 21 } 22 23 }
3)客户端代码
1 public static void Main() { 2 Facade f = new Facade(); 3 f.MethodAll(); 4 }