現在的生活當中,我們離不開各種電子工具。什麼膝上型電腦、手機、mp4啊,都離不開充電。既然是充電,那麼就需要用到充電器。其實從根本上來說,充電器就是乙個個普通的介面卡。什麼叫介面卡呢,就是把220v、50hz的交流電壓程式設計5~12v的直流電壓。充電器就幹了這麼一件事情。
那麼,這樣的乙個充電介面卡,我們應該怎麼用c++描述呢?
[cpp]view plain
copy
class
voltage_12v
virtual
~voltage_12v() {}
virtual
void
request() {}
};
class
v220_to_v12
~v220_to_v12() {}
void
voltage_transform_process() {}
};
class
adapter:
public
voltage_12v
~adapter() {}
void
request()
};
通過上面的**,我們其實可以這樣理解。類voltage_12v表示我們的最終目的就是為了獲得乙個12v的直流電壓。當然獲得12v可以有很多的方法,利用介面卡轉換僅僅是其中的乙個方法。adapter表示介面卡,它自己不能實現220v到12v的轉換工作,所以需要呼叫類v220_to_v12的轉換函式。所以,我們利用adapter獲得12v的過程,其實就是呼叫v220_to_v12函式的過程。
不過,既然我們的主題是用c語言來編寫介面卡模式,那麼我們就要實現最初的目標。這其實也不難,關鍵一步就是定義乙個adapter的資料結構。然後把所有的adapter工作都由adaptee來做,就是這麼簡單。不知我說明白了沒有?
[cpp]view plain
copy
typdef
struct
_adaptee
adaptee;
typedef
struct
_adapter
adapter;
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
生活中的介面卡 買膝上型電腦,買手機時,都有乙個電源介面卡,電源介面卡又叫外接電源,是小型可攜式電子裝置及電子電器的供電電壓變換裝置,常見於手機,膝上型電腦上。它的作用是將家裡的220v高電壓轉換成這些電子產品能工作的5v 20v左右穩定的低電壓,使它們能正常工作。就是說,如果沒有這個電源介面卡,我...
C 設計模式 介面卡模式
介面卡有兩種實現方式,分別是類介面卡和物件介面卡。這兩種實現方式不太一樣。類介面卡 client 與符合 target 介面的物件協同 adaptee 定義乙個已經存在的介面,這個介面需要適配 adapter 對 adaptee 的介面與 target 介面進行適配 以下幾種情況可以使用 adapt...