成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js設(shè)計(jì)模式 --- 適配設(shè)計(jì)模式

Jaden / 1655人閱讀

摘要:適配模式定義適配器模式將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個(gè)類可以協(xié)同工作。

適配模式
定義:適配器模式將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個(gè)類可以協(xié)同工作。

原有的兩個(gè)類由于接口不一, 需要對(duì)其中一個(gè)類進(jìn)行適配包裝, 以供與另外的類進(jìn)行溝通匹配

實(shí)現(xiàn)適配模式有兩種, 繼承和橋接, 后者本人更喜歡

繼承結(jié)構(gòu):

實(shí)現(xiàn)

220v接口

//類適配器模式
var v220 = new Interface("v220", ["output220V"]);

220v電源類

let Voltage220 = function() {
};
Voltage220.prototype.output220V = function() {
  let src = 220;
  console.log("我是" + src + "V");
  return src;
}

5v接口

var v5 = new Interface("v5", ["output5V"]);

適配類

let VoltageAdapter = function () {
  Voltage220.call(this);
}
// 實(shí)現(xiàn)5v接口
VoltageAdapter.prototype.output5V = function() {
  let src = this.output220V();
  console.log("適配器工作開始適配電壓");
  let dst = src / 44;
  console.log("適配完成后輸出電壓:" + dst);
  return dst;
}
extend(VoltageAdapter, Voltage220);

繼承結(jié)構(gòu):

實(shí)現(xiàn)

適配類

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("對(duì)象適配器工作,開始適配電壓");
      dst = src / 44;
      console.log("適配完成后輸出電壓:" + dst);
  }
  return dst;
}

對(duì)象適配器和類適配器其實(shí)算是同一種思想,只不過實(shí)現(xiàn)方式不同。 
根據(jù)合成復(fù)用原則,組合大于繼承, 第二種優(yōu)于第一種,它解決了類適配器必須繼承src的局限性問題.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107590.html

相關(guān)文章

  • JS 適配模式

    摘要:另外,適配器模式和其它幾個(gè)模式可能容易讓人迷惑,這里說一下大概的區(qū)別適配器和橋接模式雖然類似,但橋接的出發(fā)點(diǎn)不同,橋接的目的是將接口部分和實(shí)現(xiàn)部分分離,從而對(duì)他們可以更為容易也相對(duì)獨(dú)立的加以改變。 1. 簡介 適配器模式(Adapter)是將一個(gè)類(對(duì)象)的接口(方法或?qū)傩裕┺D(zhuǎn)化成客戶希望的另外一個(gè)接口(方法或?qū)傩裕?,適配器模式使得原本由于接口不兼容而不能一起工作的那些類(對(duì)象)可以一...

    Jeffrrey 評(píng)論0 收藏0
  • 一天一個(gè)設(shè)計(jì)模式JS實(shí)現(xiàn)——適配模式

    摘要:本文參考于設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式設(shè)計(jì)模式是一套被反復(fù)使用的多數(shù)人知曉的經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。第一個(gè)設(shè)計(jì)模式是適配器模式??偟膩碚f適配器就是的模式,與修飾模式直接無感使用不同,適配器模式使用對(duì)象變?yōu)椤? 本文參考于:設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式 設(shè)計(jì)模式是一套被反復(fù)使用的、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼、讓代碼更容易被...

    Aceyclee 評(píng)論0 收藏0
  • 燜面&適配

    摘要:門面模式燜面有兩個(gè)作用一是簡化類的接口二是消除類與使用他的業(yè)務(wù)代碼之間的耦合他幾乎是所有庫的核心原則通過建立一些便利方法可以讓復(fù)雜系統(tǒng)變得更加簡單易用燜面模式可以使庫提供的工具更加容易理解燜面可以簡化錯(cuò)誤記錄或者跟蹤頁面視圖統(tǒng)計(jì)數(shù)據(jù)這類這類 門面模式 燜面,有兩個(gè)作用,一是簡化類的接口;二是消除類與使用他的業(yè)務(wù)代碼之間的耦合.他幾乎是所有 JS 庫的核心原則.通過建立一些便利方法可以讓...

    suemi 評(píng)論0 收藏0
  • JS 設(shè)計(jì)模式 十(適配模式

    摘要:適配器模式是指將一個(gè)接口轉(zhuǎn)換成客戶端希望的另外一個(gè)接口,該模式使得原本不兼容的類可以一起工作。適配器有種角色目標(biāo)抽象角色定義客戶所期待的使用接口。接口源角色需要被適配的接口。接口適配器角色把源接口轉(zhuǎn)換成符合要求的目標(biāo)接口的設(shè)備。 適配器模式 是指將一個(gè)接口轉(zhuǎn)換成客戶端希望的另外一個(gè)接口,該模式使得原本不兼容的類可以一起工作。舉個(gè)例子:macbook pro有一個(gè)HDMI接口,一條HDM...

    mochixuan 評(píng)論0 收藏0
  • 【移動(dòng)適配】移動(dòng)Web怎么做屏幕適配(一)

    摘要:屏幕適配是一個(gè)很容易被忽略的問題,但對(duì)于精益求精的產(chǎn)品而言,是必不可少的。對(duì)于開發(fā)的求職者而言,也是一個(gè)必需要理解清楚的經(jīng)典問題文啃先生壹移動(dòng)端適配的是什么我們討論的是網(wǎng)頁適配多種尺寸屏幕,讓網(wǎng)頁效果看起來和設(shè)計(jì)師的設(shè)計(jì)稿一樣。 屏幕適配是一個(gè)很容易被忽略的問題,但對(duì)于精益求精的產(chǎn)品而言,是必不可少的。對(duì)于Web開發(fā)的求職者而言,也是一個(gè)必需要理解清楚的經(jīng)典問題 文 | 啃先生 Mar...

    huangjinnan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<