介面卡模式:將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於介面不相容而不能一起工作的那些類可以一起工作。
角色:(1)target:這是客戶所期待的介面,target可以是具體的或抽象的類,也可以是介面。
(2)adaptee:需要適配的類。
(3)adapter:通過在內部包裝乙個adaptee物件,把源介面轉換成目標介面。
//球員
class
player
virtual
void attack() = 0
;
virtual
void defense() = 0
;
virtual~player() {}
};//
前鋒class forwards : public
player
virtual
void
attack()
virtual
void
defense()
};//
中鋒class center : public
player
virtual
void
attack()
virtual
void
defense()
};//
後衛class guards : public
player
virtual
void
attack()
virtual
void
defense()
};class
foreigncenter
string
gstname()
void
foreignattack()
void
foreigndefense()
private
:
string
name;
};//
介面卡類 翻譯者
class translator :public
player
~translator()
void attack()
void
defense()
private
: foreigncenter* ym; //
外籍中鋒
使用場景:
什麼時候用?
(1)在想使用乙個已存在的類,但是如果他的介面,也就是它的方法和你的要求不相同時,就應該考慮用介面卡模式。
(2)用了介面卡模式,客戶**可以統一呼叫統一介面就行了,這樣可以更簡單,更直接,更緊湊。
(3)要在雙方都不太容易修改的時候再使用介面卡模式適配,而不是一有不同是就使用它。
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
介面卡有兩種實現方式,分別是類介面卡和物件介面卡。這兩種實現方式不太一樣。類介面卡 client 與符合 target 介面的物件協同 adaptee 定義乙個已經存在的介面,這個介面需要適配 adapter 對 adaptee 的介面與 target 介面進行適配 以下幾種情況可以使用 adapt...