溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用javascript中的適配器模式

發(fā)布時間:2020-08-04 10:20:34 來源:億速云 閱讀:305 作者:小豬 欄目:web開發(fā)

這篇文章主要講解了如何使用javascript中的適配器模式,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

介紹:適配器模式的產生也來自具體的問題,拿mac來舉例,我不能直接用mac鏈接VGA,不能直接連接網線接口,這是就需要提供一些轉接頭,來將一些特殊的接口與我們的火線口相鏈接。

在這個過程中轉接頭就相當于一類適配器,mac被轉接頭所擴展,所以mac稱之為適配者。適配器的主要作用是將客戶端的請求轉化為對適配者接口的調用。好多場景下因為接口的不兼容,

多一個參數少一個參數,參數格式不正確,調用順序等等問題導致無法直接的相互調用,適配器就是這之間作為調和的方法。

定義:將一個接口轉換成客戶希望的另一個接口,使接口不兼容的那些類可以一起工作,其別名為包裝器(Wrapper)。適配器模式既可以作為類結構型模式,也可以作為對象結構模型。

場景:我們假設一個場景。Common組件中提供了對數組排序以及查詢的方法,需要同時傳遞數組以及查詢條件。但現在有一個場景,是我能獲取到數組的位置和我使用查找結果的位置不在一處。
所以我們腰痛過適配器對這一類場景進行適配兼容。

示例:

var Common = function(){
  this.QuickSort = function(arr){
    console.log('QuickSort')
  };
  this.searchBykey = function(arr,key){
    console.log('sort');
  }
}
 
var OperationAdapter = function(){
  this.QuickSort = new Common();
  this.arr = [];
  this.setArr = function(arr){
    this.arr = arr;
  };
  this.sort = function(){
    this.QuickSort.QuickSort(this.arr);
  };
  this.search = function(key){
    this.QuickSort.searchBykey(this.arr, key);
  };
}
 
var adapter = new OperationAdapter();
adapter.setArr(['1', '12', '123'])
adapter.sort(); //QuickSort
adapter.search('123'); //sort

適配器模式總結:

優(yōu)點:

* 將使用與適配類解耦,通過適配器來解決定制化需求,無需對原有結構進行修改
* 一個適配器可以把多個不同的適配者適配到同一目標。
* 適配器的靈活性和擴展性都非常好,添加修改也很方便,符合開閉原則

缺點:

* 適配器與業(yè)務耦合嚴重,導致適配器的修改需要兼顧所有使用場景

適用場景:

* 系統(tǒng)需要使用現有類,而現有類不符合系統(tǒng)需求

看完上述內容,是不是對如何使用javascript中的適配器模式有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI