介面卡模式將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
它包括類介面卡和物件介面卡,本文針對的是物件介面卡。
舉個例子,在stl中就用到了介面卡模式。stl實現了一種資料結構,稱為雙端佇列(deque),支援前後兩段的插入與刪除。stl實現棧和佇列時,沒有從頭開始定義它們,而是直接使用雙端佇列實現的。這裡雙端佇列就扮演了介面卡的角色。佇列用到了它的後端插入,前端刪除。而棧用到了它的後端插入,後端刪除。假設棧和佇列都是一種順序容器,有兩種操作:壓入和彈出。
下面給出相應的uml圖
[img]
根據上面的uml圖,很容易給出實現。
//雙端佇列
class deque
設計模式 3 介面卡模式
問題引入 何為介面卡模式 介面卡模式的優勢 介面卡模式的使用場景 介面卡模式的 簡單實現 客戶端通過介面卡模式可以簡單,透明的呼叫目標介面實現相應的需求 可以對已存在的類進行復用,避免對已存在的大量的 進行修改,同時可以對新的需求進行擴充套件 將目標類和介面卡進行解耦,解決了目標類和適配類介面不一致...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...