代码改变世界

外观模式(Façade Pattern)

2010-08-26 22:10  Clingingboy  阅读(961)  评论(0编辑  收藏  举报

        这个模式非常的简单,可以说称不上模式

打个比方,我们大部分时候运行源代码程序需要做一下几件事情,其实就是做封装,简化操作

  1. 打开IDE
  2. 打开项目
  3. 编译
  4. 运行

来看下面例子

internal class SubsystemA {
   internal string A1() {
     return "Subsystem A, Method A1\n";
   }
     
   internal string A2() {
       return "Subsystem A, Method A2\n";
     }
 }
 
 internal class SubsystemB{
   internal string B1() {
     return "Subsystem B, Method B1\n";
   }
 }

我需要调用这三个类来完成一件事情,新建一个Facade类,Operation1方法简化了操作

public static class Facade {
   static SubsystemA a = new SubsystemA();
   static SubsystemB b = new SubsystemB();
   static SubsystemC c = new SubsystemC();
 
   public static void Operation1() {
     Console.WriteLine("Operation 1\n" +
     a.A1() +
     a.A2() +
     b.B1());
   }
 
   public static void Operation2() {
     Console.WriteLine("Operation 2\n" +
     b.B1() +
     c.C1());
   }
 }

 

新建一个类,调用这两个方法

  class Client {
   public void ClientMain () {
 
       Facade.Operation1();
       Facade.Operation2();
 
   }
 }

最终客户端的调用,只需要一步

static void Main() {
    new Client().ClientMain();
    Console.ReadKey();
 }