C語言和設計模式(介面卡模式)

2021-06-05 14:18:45 字數 1136 閱讀 9596

現在的生活當中,我們離不開各種電子工具。什麼膝上型電腦、手機、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...