zoukankan      html  css  js  c++  java
  • 适配器模式

         适配器的意图是复用现有对象的功能. 这个模式用的还是比较多的.

    // Existing way requests are implemented
      class Adaptee { 
        // Provide full precision
        public double SpecificRequest (double a, double b) {
          return a/b;
        }
      }
      
      // Required standard for requests
      interface ITarget {
        // Rough estimate required
        string Request (int i);
      }
      
      // Implementing the required standard via the Adaptee
      class Adapter : Adaptee, ITarget {
        public string Request (int i) {
          return "Rough estimate is " + (int) Math.Round(SpecificRequest (i,3));
        }
      }

    重新定义了一个Request方法,然后调用基类方法SpecificRequest (也可以不用继承,从内部实例化对象也可以,具体可灵活运用)

    static void  Main () {
        // Showing the Adapteee in stand-alone mode
       Adaptee first = new Adaptee();
       Console.Write("Before the new standard\nPrecise reading: ");
       Console.WriteLine(first.SpecificRequest(5,3));
        
       // What the client really wants
       ITarget second = new Adapter();
       Console.WriteLine("\nMoving to the new standard");
       Console.WriteLine(second.Request(5));
       Console.ReadKey();
     }

    其实模式这东西,只要掌握了面向对象,模式就自然运用出来了

  • 相关阅读:
    JS高级——eval
    JS高级——Object.prototype成员
    JS高级——原型链
    JS高级——逻辑中断
    移动web——bootstrap媒体对象
    移动web——bootstrap如何修改原组件
    移动web——bootstrap响应式轮播图
    Leetcode题解
    位运算实现四则运算(C++实现)
    扫码登陆原理
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1809540.html
Copyright © 2011-2022 走看看