JavaScript設計模式之適配器模式

原文博客地址:https://finget.github.io/2018/11/22/adapter/

適配器模式

適配器模式(Adapter)是將一個類(對象)的接口(方法或屬性)轉換成客戶但願的另一個接口(方法或屬性),適配器模式使得本來因爲接口不兼容而不能一塊兒工做的那些類(對象)能夠一塊兒工做。[舊接口格式和使用者不兼容,中間加一個適配器轉換接口。]


UML
javascript

模式做用:前端

  • 使用一個已經存在的對象,但其方法或接口不符合你的要求。
  • 建立一個可複用的對象,該對象能夠與其餘不相關或不可見的對象協同工做。
  • 使用已經存在的一個或多個對象,可是不能進行繼承已匹配它的接口。

注意事項:java

  • 與代理模式的區別,代理模式是不改變原接口,適配是原接口不符合規範

代碼示例

//谷歌地圖show方法
var googleMap = {
  googlShow: function() {
    console.log("谷歌地圖");
  }
};
//百度地圖show方法
var baiduMap = {
  baiduShow: function() {
    console.log("百度地圖");
  }
};
//渲染地圖函數
var renderMap=function(map){
  if(map.show instanceof Function){
    map.show();        
  }
};
renderMap(googleMap);//輸出:開始渲染谷歌地圖
renderMap(baiduMap);//輸出:開始渲染百度地圖

適配器模式還有數據的適配,在如今開發中,各類UI框架層出不窮(elementUI),每一個框架中對組件數據格式的定義不同,後臺返回的數據也不能徹底按照框架的格式,這時做爲前端程序猿,咱們就須要把後臺返回的數據作一次修改,以適應框架。這就是設配器的想法,不要聽到設計模式就很惱火,說不定你天天都在用!!!git

最後

建立了一個前端學習交流羣,感興趣的朋友,一塊兒來嗨呀!
github

相關文章
相關標籤/搜索