摘要:舊接口格式和使用者不兼容,中間加一個(gè)適配器轉(zhuǎn)換接口。模式作用使用一個(gè)已經(jīng)存在的對(duì)象,但其方法或接口不符合你的要求。
原文博客地址:https://finget.github.io/2018/11/22/adapter/適配器模式
適配器模式(Adapter)是將一個(gè)類(對(duì)象)的接口(方法或?qū)傩?轉(zhuǎn)換成客戶希望的另外一個(gè)接口(方法或?qū)傩?,適配器模式使得原本由于接口不兼容而不能一起工作的那些類(對(duì)象)可以一起工作。[舊接口格式和使用者不兼容,中間加一個(gè)適配器轉(zhuǎn)換接口。]
UML
模式作用:
使用一個(gè)已經(jīng)存在的對(duì)象,但其方法或接口不符合你的要求。
創(chuàng)建一個(gè)可復(fù)用的對(duì)象,該對(duì)象可以與其他不相關(guān)或不可見的對(duì)象協(xié)同工作。
使用已經(jīng)存在的一個(gè)或多個(gè)對(duì)象,但是不能進(jìn)行繼承已匹配它的接口。
注意事項(xiàng):
與代理模式的區(qū)別,代理模式是不改變?cè)涌?,適配是原接口不符合規(guī)范
代碼示例//谷歌地圖show方法 var googleMap = { googlShow: function() { console.log("谷歌地圖"); } }; //百度地圖show方法 var baiduMap = { baiduShow: function() { console.log("百度地圖"); } }; //渲染地圖函數(shù) var renderMap=function(map){ if(map.show instanceof Function){ map.show(); } }; renderMap(googleMap);//輸出:開始渲染谷歌地圖 renderMap(baiduMap);//輸出:開始渲染百度地圖
適配器模式還有數(shù)據(jù)的適配,在現(xiàn)在開發(fā)中,各種UI框架層出不窮(elementUI),每個(gè)框架中對(duì)組件數(shù)據(jù)格式的定義不一樣,后臺(tái)返回的數(shù)據(jù)也不能完全按照框架的格式,這時(shí)作為前端程序猿,我們就需要把后臺(tái)返回的數(shù)據(jù)做一次修改,以適應(yīng)框架。這就是設(shè)配器的想法,不要聽到設(shè)計(jì)模式就很惱火,說不定你每天都在用?。。?/p>
最后創(chuàng)建了一個(gè)前端學(xué)習(xí)交流群,感興趣的朋友,一起來嗨呀!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/99538.html
摘要:享元模式通過分析應(yīng)用程序的對(duì)象,將其解析為內(nèi)在數(shù)據(jù)和外在數(shù)據(jù),減少對(duì)象數(shù)量,從而提高程序的性能。通過這種方式進(jìn)行事件綁定,可以減少事件處理程序的數(shù)量,這種方式叫做事件委托,也是運(yùn)用了享元模式的原理。事件處理程序是公用的內(nèi)在部分,每個(gè)菜單項(xiàng)各 github 全文地址 : YOU-SHOULD-KNOW-JS JavaScript設(shè)計(jì)模式之外觀模式 概念 外觀模式:為一組復(fù)雜子系統(tǒng)接口提...
摘要:適配者模式適配者模式主要用于解決兩個(gè)接口之間不匹配的問題。新接口希望是下面的形式這時(shí)候就可以采用適配者模式 適配者模式 適配者模式: 主要用于解決兩個(gè)接口之間不匹配的問題。demo const zhejiangCityOld = (function(){ return [ { name:hangzhou, id: 11, ...
摘要:依賴于接口的設(shè)計(jì)模式下面列出的設(shè)計(jì)模式,尤其依賴接口工廠模式。這些私用的靜態(tài)成員可以從構(gòu)造器內(nèi)部訪問,這意味著所有私用函數(shù)和特權(quán)函數(shù)都能訪問它們。構(gòu)造器靜態(tài)特權(quán)方法封裝之弊私用方法很難進(jìn)行單元測試。 1.弱類型語言 在JavaScript中,定義變量時(shí)不必聲明其類型。但這并不意味著變量沒有類型。一個(gè)變量可以屬于幾種類型之一,這取決于其包含的數(shù)據(jù)。JavaScript中有三種原始類型:...
摘要:與門面模式的聯(lián)系本文要說的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說。我們以中的一個(gè)為例,說說實(shí)際應(yīng)用中的適配器模式的使用方法。而如果實(shí)現(xiàn)層的問題不大,要解決一部分適配問題的話,適配器模式就是很好的選擇了。 與門面模式的聯(lián)系 本文要說的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說。它們都對(duì)類的接口進(jìn)行了一些改變。門面模式是把相似的或是完成相關(guān)任務(wù)的接...
摘要:什么是適配器模式適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。中的適配器模式在前端項(xiàng)目中,適配器模式的使用場景一般有以下三種情況庫的適配參數(shù)的適配和數(shù)據(jù)的適配。 1 什么是適配器模式 適配器模式(Adapter):將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。 在...
閱讀 3466·2021-11-24 10:30
閱讀 3337·2021-11-22 15:29
閱讀 3774·2021-10-28 09:32
閱讀 1401·2021-09-07 10:22
閱讀 3409·2019-08-30 15:55
閱讀 3688·2019-08-30 15:54
閱讀 3567·2019-08-30 15:54
閱讀 2896·2019-08-30 15:44