介面卡模式

2022-06-23 19:39:12 字數 772 閱讀 2576

介面卡模式的作⽤是解決兩個軟體實體間的接⼝不相容的問題。使⽤介面卡模式之後,原本 由於

個相對簡單的模式。在程式開發中有許多這樣的 場景:當我們試圖調⽤模組或者物件的某個接⼝

時,卻發現這個接⼝的格式並不符合⽬前的需求。 這時候有兩種解決辦法,第⼀種是修改原來的

接⼝實現,但如果原來的模組很複雜,或者我們拿 到的模組是⼀段別⼈編寫的經過壓縮的**,

修改原接⼝就顯得不太現實了。第⼆種辦法是建立 ⼀個介面卡,將原接⼝轉換為客戶希望的另⼀

個接⼝,客戶只需要和介面卡打交道。

var googlemap =

};var baidumap =

};var baidumapadapter =

};rendermap( googlemap ); // 輸出:開始渲染⾕歌地圖

介面卡模式主要⽤來解決兩個已有接⼝之間不匹配的問題,它不考慮這些接⼝是怎樣實 現的,也不考慮

它們將來可能會如何演化。介面卡模式不需要改變已有的接⼝,就能夠 使它們協同作⽤。

裝飾者模式和**模式也不會改變原有物件的接⼝,但裝飾者模式的作⽤是為了給物件 增加功能。裝飾

者模式常常形成⼀條⻓的裝飾鏈,⽽介面卡模式通常只包裝⼀次。** 模式是為了控制對物件的訪問,

通常也只包裝⼀次。

我們設計很多外掛,有預設值,也算是介面卡的⼀種應⽤, vue的prop校驗,default也算是介面卡的

應⽤了外觀模式的作⽤倒是和介面卡⽐較相似,有⼈把外觀模式看成⼀組物件的介面卡,但外觀模式最顯著的

特點是定義了⼀個新的接⼝。