略读-桥接模式

bridge

使用思路:在同一个软件内保存不同版本的功能,尤其是新功能替代旧功能,但旧功能又要继续为已有客户程序服务。

 

例子

简单的桥接代码:

  using System;
 
  class BridgePattern {
    
    // Bridge Pattern                           Judith Bishop Dec 2006, Aug 2007
    // Shows an abstraction and two implementations proceeding independently
 
    class Abstraction  {
      Bridge bridge;
      public Abstraction (Bridge implementation) {
        bridge = implementation;
      }
        public string Operation () {
        return "Abstraction" +" <<< BRIDGE >>>> "+bridge.OperationImp();
      }
    }
    
    interface Bridge {
      string OperationImp();
    }
    
    class ImplementationA : Bridge {
      public string  OperationImp () {
        return "ImplementationA";
      }
    }
    
    class ImplementationB : Bridge {
      public string  OperationImp () {
        return "ImplementationB";
      }
    }
    
    static void Main () {
      Console.WriteLine("Bridge Pattern\n");
      Console.WriteLine(new Abstraction (new ImplementationA()).Operation());
      Console.WriteLine(new Abstraction (new ImplementationB()).Operation());
      Console.ReadKey();
    }
  }
/* Output
Bridge Pattern
Abstraction <<< BRIDGE >>>> ImplementationA
Abstraction <<< BRIDGE >>>> ImplementationB
*/
posted @ 2009-07-02 07:25  my36z  阅读(168)  评论(0编辑  收藏  举报