亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript設(shè)計模式系列五:適配器模式

banana_pi / 1489人閱讀

摘要:什么是適配器模式所謂適配器模式就是用一個新的接口對現(xiàn)有的接口進行包裝,處理類與的不匹配。對象適配器可以適配它的父對象接口方法或?qū)傩?。裝飾者模式增強了對象的功能而同時又不改變它的接口,因此它對程序的透明度比適配器要好。

什么是適配器模式

所謂 適配器模式 就是用一個新的接口對現(xiàn)有的接口進行包裝,處理類與API的不匹配。使用這種模式的對象又叫作包裝器。
比如我們有一個接口:

function api (x1, x2, x3) {
  console.log(x1 + x2 + x3);  // 用console.log來模擬接口的相關(guān)操作
}

然后我們有一個對象數(shù)據(jù):

var obj = {
  a: "我",
  b: "很",
  c: "帥"
}

我們可以發(fā)現(xiàn),我們的數(shù)據(jù)和接口的參數(shù)是不匹配的,無法直接參入obj調(diào)用該api。
這時候怎么辦呢?我們可以定義一個適配器函數(shù):

function adapter (o) {
  // 通過適配器函數(shù)來調(diào)用目的api
  api(o.a, o.b, o.c);
} 

adapter(obj);
// 我很帥

這樣,通過適配器函數(shù) adapter() 我們就可以直接傳入obj來調(diào)用api了,類與api的不匹配問題就引刃而解了。

總結(jié)

適配器模式就是用一個新的接口對現(xiàn)有的接口進行包裝,處理類與API的不匹配。使用這種模式的對象又叫作包裝器。
適用情況

使用一個已經(jīng)存在的對象,但其方法或?qū)傩越涌诓环衔覀兊囊蟆?/p>

想要創(chuàng)建一個可復(fù)用對象,該對象可以與其他不相關(guān)的對象或不可見的對象協(xié)同工作

想使用的對象已經(jīng)存在,但是不能對每一個都進行原型繼承以匹配它的接口。對象適配器可以適配它的父對象接口方法或?qū)傩浴?/p>

與其他模式的區(qū)別

適配器和橋接器雖然類似,但橋接的出發(fā)點不同,橋接的目的是將接口部分和實現(xiàn)部分分離,從而對他們可以更容易的更獨立的加以改變。

裝飾者模式增強了對象的功能而同時又不改變它的接口,因此它對程序的透明度比適配器要好。

代理模式再不改變它的接口條件下,為另一接口定義一個代理。

門面模式是為了簡化一個接口,不提供額外額選擇。

適配器則要把一個接口轉(zhuǎn)換為另一個接口,并不會濾除某些能力也不會簡化接口。

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/107459.html

相關(guān)文章

  • 編程中的那些經(jīng)典套路——設(shè)計模式匯總

    摘要:如果看不懂的話,可以在評論區(qū)中提問,我會第一時間回答你無論何時我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊撚檬裁醋藙莺托膽B(tài)學(xué)習(xí)設(shè)計模式: 如果你還沒有過多的編程經(jīng)驗(泛指半年以下),我建議你把它當(dāng)做小說來看,能看懂多少是多少,因為半年以下經(jīng)驗的程序員用到設(shè)計模式的情況只會出現(xiàn)在面試上,至于實際工作中?相對來說這部分不會由你負責(zé)。 如果你已...

    youkede 評論0 收藏0
  • 聽飛狐聊JavaScript設(shè)計模式系列10

    摘要:本回內(nèi)容介紹上一回,聊了代理模式,虛擬代理,圖片懶加載,介一回,也比較容易,適配器模式,用一個新的接口對現(xiàn)有類的接口進行包裝,處理類與的不匹配。這一回,主要聊了適配器模式,圖片預(yù)加載,主要還是理解下一回,聊一聊橋接模式,順便做一做計算題。 本回內(nèi)容介紹 上一回,聊了代理模式,虛擬代理,圖片懶加載,介一回,也比較容易,適配器模式(Adapter),用一個新的接口對現(xiàn)有類的接口進行包裝,處...

    yexiaobai 評論0 收藏0
  • 大前端 - 收藏集 - 掘金

    摘要:是目前唯一一個支持同步調(diào)用的跨平臺年度上最多的個項目前端掘金年接近尾聲,在最近的幾篇文章中,會整理總結(jié)一些年度開源項目。 JS 全棧教程 - 前端 - 掘金本課程是基于阮一峰的 js 全棧教程的視頻版本,免費供大家觀看... 2016 年 10 個最佳的 CodePen 作品 - 前端 - 掘金說到 CodePen,前端開發(fā)者們肯定不會陌生。如果說 Dribbble 是設(shè)計師們聚集的圣...

    honhon 評論0 收藏0
  • JavaScript設(shè)計模式系列八:外觀模式

    摘要:外觀模式外觀模式是指提供一個統(tǒng)一的接口去訪問多個子系統(tǒng)的多個不同的接口,為子系統(tǒng)中的一組接口提供統(tǒng)一的高層接口。外觀模式在我們的日常工作中十分常見。 外觀模式 外觀模式是指提供一個統(tǒng)一的接口去訪問多個子系統(tǒng)的多個不同的接口,為子系統(tǒng)中的一組接口提供統(tǒng)一的高層接口。使得子系統(tǒng)更容易使用,不僅簡化類中的接口,而且實現(xiàn)調(diào)用者和接口的解耦。外觀模式在我們的日常工作中十分常見。 我們來看一個例子...

    tianren124 評論0 收藏0
  • 從ES6重新認識JavaScript設(shè)計模式(四): 配器模式

    摘要:什么是適配器模式適配器模式將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。中的適配器模式在前端項目中,適配器模式的使用場景一般有以下三種情況庫的適配參數(shù)的適配和數(shù)據(jù)的適配。 1 什么是適配器模式 適配器模式(Adapter):將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。 在...

    URLOS 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<