zoukankan      html  css  js  c++  java
  • 略读桥接模式

    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
    */
  • 相关阅读:
    拓扑排序
    最短路径(Dijkstra,SPFA,Floyd)
    最小生成树(Prim)
    最长公共子序列(DP)(二种数组实现+扩展)
    HDU3068(最长回文串)
    python pip 阿里云内网安装地址
    python matplotlib画图改为可写中文
    win10 安装 basemap
    Liunx 安装basemap
    Docker 命令大全
  • 原文地址:https://www.cnblogs.com/my36z/p/1515135.html
Copyright © 2011-2022 走看看