介面卡模式:將乙個類的介面轉換成客戶需要的另外乙個介面,是的原本由於介面不相容而不能一起工作的那些類可以一起工作。
場景:想使用乙個類但是它的介面不符合要求。
編寫乙個計算器的程式,介面已經定義好了,有加法和乘法。在這之前已經寫好了乙個關於計算加法的類,你想復用這個加法類。但是規定的介面有兩個除了加法之外還有乘法,這時介面卡就上場了。
#include //計算介面
class calculate;
//計算器a
class calculatora
};//計算的介面卡
class calculatoradapter :public calculate
public:
virtual void add(int a, int b)
virtual void multiply(int a, int b)
private:
calculatora* _calculatora;
};int main()
執行結果:
C 設計模式實現 介面卡
一 介面卡模式特點 介面卡模式主要解決的問題就是我們要呼叫的介面型別,無法滿足我們新系統的使用需求,這時候,我們需要將舊系統的介面,通過介面卡進行轉配,達到支援新介面呼叫的目的。對於這樣的要求,我們通過介面卡就可以完成,當然如果有多個介面需要轉配,那麼我們就需要為每乙個介面提供乙個介面卡去完成轉換的...
設計模式C 實現 介面卡模式
dp上的定義 介面卡模式將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作 它包括類介面卡和物件介面卡,本文針對的是物件介面卡。舉個例子,在stl中就用到了介面卡模式。stl實現了一種資料結構,稱為雙端佇列 deque 支援前後兩段的插入與刪除。st...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...