設計模式 介面卡 C 實現

2021-09-01 05:15:22 字數 639 閱讀 3411

介面卡模式:將乙個類的介面轉換成客戶需要的另外乙個介面,是的原本由於介面不相容而不能一起工作的那些類可以一起工作。

場景:想使用乙個類但是它的介面不符合要求。

編寫乙個計算器的程式,介面已經定義好了,有加法和乘法。在這之前已經寫好了乙個關於計算加法的類,你想復用這個加法類。但是規定的介面有兩個除了加法之外還有乘法,這時介面卡就上場了。

#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...