目錄
基本概念
**與例項
介面卡(adapter)模式:將乙個類的介面轉換為客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
當系統的資料和行為都正常,但介面不負荷時,可以考慮使用介面卡,目的是使控制範圍之外的乙個原有物件與某個介面匹配。介面卡模式主要應用於希望復用一些現存的類,但是介面又與復用的環境要求不一致的情況。
什麼時候使用介面卡模式:
1. 使用乙個已經存在的類,但如果它的介面,也就是它的方法和你的要求不同時使用。
2. 客戶**要求統一呼叫同一介面。
3. 雙方都不太容易修改的時候再使用介面卡模式;
本人在此總結下,這個就像套子一樣,比如在某個結構裡面,有了很多設計模式和功能,但我這個系統,又可以作為另外乙個大系統的小功能,而那個大系統又有某種規範,此時給自己的系統帶乙個套子,使得他能順利的進入那個大系統,按f進入坦克。哈哈哈!
程式執行截圖如下:
原始碼如下:
head.h
head.cpp#ifndef head_h
#define head_h
//客戶期待的介面,目標可以是具體的或者抽象的類,也可以是介面
class target;
//需要適配的類
class adaptee;
//通過內部包裝乙個adaptee物件,把源介面轉換為目標介面
class adapter : public target;
#endif head_h
main.cpp#include "head.h"
#include #include using namespace std;
void target::request()
target::~target()
void adaptee::specificrequest()
void adapter::request()
adapter::~adapter()
adapter::adapter()
#include "head.h"
#include #include using namespace std;
int main(int *argc, int *ar**)
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
介面卡有兩種實現方式,分別是類介面卡和物件介面卡。這兩種實現方式不太一樣。類介面卡 client 與符合 target 介面的物件協同 adaptee 定義乙個已經存在的介面,這個介面需要適配 adapter 對 adaptee 的介面與 target 介面進行適配 以下幾種情況可以使用 adapt...