設計模式C 實現 介面卡模式

2021-07-09 03:22:34 字數 913 閱讀 9600

dp上的定義:介面卡模式將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作

。它包括類介面卡和物件介面卡,本文針對的是物件介面卡。舉個例子,在stl中就用到了介面卡模式。stl實現了一種資料結構,稱為雙端佇列(deque),支援前後兩段的插入與刪除。stl實現棧和佇列時,沒有從頭開始定義它們,而是直接使用雙端佇列實現的。這裡雙端佇列就扮演了介面卡的角色。佇列用到了它的後端插入,前端刪除。而棧用到了它的後端插入,後端刪除。假設棧和佇列都是一種順序容器,有兩種操作:壓入和彈出。

下面給出相應的uml圖,與dp上的圖差不多。

根據上面的uml圖,很容易給出實現。

[cpp]view plain

copy

print?

//雙端佇列

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()    

C 設計模式實現 介面卡

一 介面卡模式特點 介面卡模式主要解決的問題就是我們要呼叫的介面型別,無法滿足我們新系統的使用需求,這時候,我們需要將舊系統的介面,通過介面卡進行轉配,達到支援新介面呼叫的目的。對於這樣的要求,我們通過介面卡就可以完成,當然如果有多個介面需要轉配,那麼我們就需要為每乙個介面提供乙個介面卡去完成轉換的...

設計模式 介面卡 C 實現

介面卡模式 將乙個類的介面轉換成客戶需要的另外乙個介面,是的原本由於介面不相容而不能一起工作的那些類可以一起工作。場景 想使用乙個類但是它的介面不符合要求。編寫乙個計算器的程式,介面已經定義好了,有加法和乘法。在這之前已經寫好了乙個關於計算加法的類,你想復用這個加法類。但是規定的介面有兩個除了加法之...

C 設計模式 介面卡模式

生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...