摘要:什么是適配器模式所謂適配器模式就是用一個(gè)新的接口對(duì)現(xiàn)有的接口進(jìn)行包裝,處理類與的不匹配。對(duì)象適配器可以適配它的父對(duì)象接口方法或?qū)傩?。裝飾者模式增強(qiáng)了對(duì)象的功能而同時(shí)又不改變它的接口,因此它對(duì)程序的透明度比適配器要好。
什么是適配器模式
所謂 適配器模式 就是用一個(gè)新的接口對(duì)現(xiàn)有的接口進(jìn)行包裝,處理類與API的不匹配。使用這種模式的對(duì)象又叫作包裝器。
比如我們有一個(gè)接口:
function api (x1, x2, x3) { console.log(x1 + x2 + x3); // 用console.log來模擬接口的相關(guān)操作 }
然后我們有一個(gè)對(duì)象數(shù)據(jù):
var obj = { a: "我", b: "很", c: "帥" }
我們可以發(fā)現(xiàn),我們的數(shù)據(jù)和接口的參數(shù)是不匹配的,無法直接參入obj調(diào)用該api。
這時(shí)候怎么辦呢?我們可以定義一個(gè)適配器函數(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é)適配器模式就是用一個(gè)新的接口對(duì)現(xiàn)有的接口進(jìn)行包裝,處理類與API的不匹配。使用這種模式的對(duì)象又叫作包裝器。
適用情況
使用一個(gè)已經(jīng)存在的對(duì)象,但其方法或?qū)傩越涌诓环衔覀兊囊蟆?/p>
想要?jiǎng)?chuàng)建一個(gè)可復(fù)用對(duì)象,該對(duì)象可以與其他不相關(guān)的對(duì)象或不可見的對(duì)象協(xié)同工作
想使用的對(duì)象已經(jīng)存在,但是不能對(duì)每一個(gè)都進(jìn)行原型繼承以匹配它的接口。對(duì)象適配器可以適配它的父對(duì)象接口方法或?qū)傩浴?/p>
與其他模式的區(qū)別
適配器和橋接器雖然類似,但橋接的出發(fā)點(diǎn)不同,橋接的目的是將接口部分和實(shí)現(xiàn)部分分離,從而對(duì)他們可以更容易的更獨(dú)立的加以改變。
裝飾者模式增強(qiáng)了對(duì)象的功能而同時(shí)又不改變它的接口,因此它對(duì)程序的透明度比適配器要好。
代理模式再不改變它的接口條件下,為另一接口定義一個(gè)代理。
門面模式是為了簡化一個(gè)接口,不提供額外額選擇。
適配器則要把一個(gè)接口轉(zhuǎn)換為另一個(gè)接口,并不會(huì)濾除某些能力也不會(huì)簡化接口。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107459.html
摘要:如果看不懂的話,可以在評(píng)論區(qū)中提問,我會(huì)第一時(shí)間回答你無論何時(shí)我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊撚檬裁醋藙莺托膽B(tài)學(xué)習(xí)設(shè)計(jì)模式: 如果你還沒有過多的編程經(jīng)驗(yàn)(泛指半年以下),我建議你把它當(dāng)做小說來看,能看懂多少是多少,因?yàn)榘肽暌韵陆?jīng)驗(yàn)的程序員用到設(shè)計(jì)模式的情況只會(huì)出現(xiàn)在面試上,至于實(shí)際工作中?相對(duì)來說這部分不會(huì)由你負(fù)責(zé)。 如果你已...
摘要:本回內(nèi)容介紹上一回,聊了代理模式,虛擬代理,圖片懶加載,介一回,也比較容易,適配器模式,用一個(gè)新的接口對(duì)現(xiàn)有類的接口進(jìn)行包裝,處理類與的不匹配。這一回,主要聊了適配器模式,圖片預(yù)加載,主要還是理解下一回,聊一聊橋接模式,順便做一做計(jì)算題。 本回內(nèi)容介紹 上一回,聊了代理模式,虛擬代理,圖片懶加載,介一回,也比較容易,適配器模式(Adapter),用一個(gè)新的接口對(duì)現(xiàn)有類的接口進(jìn)行包裝,處...
摘要:是目前唯一一個(gè)支持同步調(diào)用的跨平臺(tái)年度上最多的個(gè)項(xiàng)目前端掘金年接近尾聲,在最近的幾篇文章中,會(huì)整理總結(jié)一些年度開源項(xiàng)目。 JS 全棧教程 - 前端 - 掘金本課程是基于阮一峰的 js 全棧教程的視頻版本,免費(fèi)供大家觀看... 2016 年 10 個(gè)最佳的 CodePen 作品 - 前端 - 掘金說到 CodePen,前端開發(fā)者們肯定不會(huì)陌生。如果說 Dribbble 是設(shè)計(jì)師們聚集的圣...
摘要:外觀模式外觀模式是指提供一個(gè)統(tǒng)一的接口去訪問多個(gè)子系統(tǒng)的多個(gè)不同的接口,為子系統(tǒng)中的一組接口提供統(tǒng)一的高層接口。外觀模式在我們的日常工作中十分常見。 外觀模式 外觀模式是指提供一個(gè)統(tǒng)一的接口去訪問多個(gè)子系統(tǒng)的多個(gè)不同的接口,為子系統(tǒng)中的一組接口提供統(tǒng)一的高層接口。使得子系統(tǒng)更容易使用,不僅簡化類中的接口,而且實(shí)現(xiàn)調(diào)用者和接口的解耦。外觀模式在我們的日常工作中十分常見。 我們來看一個(gè)例子...
摘要:什么是適配器模式適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。中的適配器模式在前端項(xiàng)目中,適配器模式的使用場景一般有以下三種情況庫的適配參數(shù)的適配和數(shù)據(jù)的適配。 1 什么是適配器模式 適配器模式(Adapter):將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。 在...
閱讀 3623·2021-11-24 10:19
閱讀 3754·2021-09-30 09:47
閱讀 1319·2019-08-30 15:56
閱讀 822·2019-08-29 15:11
閱讀 929·2019-08-29 13:43
閱讀 3610·2019-08-28 18:25
閱讀 2180·2019-08-26 13:27
閱讀 1457·2019-08-26 11:44