js設計模式 --- 適配設計模式

適配模式

定義:適配器模式將某個類的接口轉換成客戶端指望的另外一個接口表示,主的目的是兼容性,讓本來因接口不匹配不能一塊兒工做的兩個類能夠協同工做。

原有的兩個類因爲接口不一, 須要對其中一個類進行適配包裝, 以供與另外的類進行溝通匹配javascript

實現適配模式有兩種, 繼承和橋接, 後者本人更喜歡java

  • 繼承結構:
    圖片描述
  • 實現this

    • 220v接口spa

      //類適配器模式
      var v220 = new Interface('v220', ['output220V']);
    • 220v電源類prototype

      let Voltage220 = function() {
      };
      Voltage220.prototype.output220V = function() {
        let src = 220;
        console.log("我是" + src + "V");
        return src;
      }
    • 5v接口code

      var v5 = new Interface('v5', ['output5V']);
    • 適配類對象

      let VoltageAdapter = function () {
        Voltage220.call(this);
      }
      // 實現5v接口
      VoltageAdapter.prototype.output5V = function() {
        let src = this.output220V();
        console.log("適配器工做開始適配電壓");
        let dst = src / 44;
        console.log("適配完成後輸出電壓:" + dst);
        return dst;
      }
      extend(VoltageAdapter, Voltage220);
  • 繼承結構:
    圖片描述
  • 實現blog

    • 適配類繼承

      let VoltageAdapter2 = function (voltage220) {
        this.mVoltage220 = voltage220;
      };
      VoltageAdapter2.prototype.output5V = function () {
        let dst = 0;
        if (null != this.mVoltage220) {
            let src = this.mVoltage220.output220V();
            console.log("對象適配器工做,開始適配電壓");
            dst = src / 44;
            console.log("適配完成後輸出電壓:" + dst);
        }
        return dst;
      }
對象適配器和類適配器其實算是同一種思想,只不過實現方式不一樣。 根據合成複用原則,組合大於繼承, 第二種優於第一種,它解決了類適配器必須繼承src的侷限性問題.
相關文章
相關標籤/搜索