介面卡模式將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作
。它包括類介面卡和物件介面卡,本文針對的是物件介面卡。舉個例子,在stl中就用到了介面卡模式。stl實現了一種資料結構,稱為雙端佇列(deque),支援前後兩段的插入與刪除。stl實現棧和佇列時,沒有從頭開始定義它們,而是直接使用雙端佇列實現的。這裡雙端佇列就扮演了介面卡的角色。佇列用到了它的後端插入,前端刪除。而棧用到了它的後端插入,後端刪除。假設棧和佇列都是一種順序容器,有兩種操作:壓入和彈出。
//雙端佇列
class
deque
; //順序容器
class
sequence
; //棧
class
stack:
public
sequence
void
pop()
private
: deque deque; //雙端佇列
};
//佇列
class
queue:
public
sequence
void
pop()
private
: deque deque; //雙端佇列
};
使用方式如下:
[cpp]view plain
copy
print?
intmain()
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式 介面卡模式
01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...