論利用OOP設(shè)計(jì)思想的通訊接口類的設(shè)計(jì)與應(yīng)用
2.3 接口類用例
假設(shè),現(xiàn)在有一個(gè)頻譜測量系統(tǒng),各個(gè)測量儀器與主控PC 采用了GPIB 進(jìn)行系統(tǒng)的構(gòu)建[10],則使用類族如圖2 所示,流程圖如3所示,可以設(shè)計(jì)如下的類族偽代碼:
class COM
{
public:
virtual BOOL Open()=0;
virtual int Write(BYTE* pBuff,int CountToWrite)=0;
virtual int Read(BYTE* pBuff,int CountTORead)=0;
virtual void Close()= 0;
};
而派生類GPIB 接口的實(shí)現(xiàn),就是將該接口的各個(gè)API進(jìn)行封裝,然后由COM 的接口提供出統(tǒng)一的訪問方式。
在實(shí)現(xiàn)了具體的具體的儀器的類的編寫后,就可以采用圖3的流程來完成,下面是C++偽代碼:
COM *pc = new GPIB(1,0,0);
Device pDevice = new FreqMeasureInstrumen(t pc);
i(f TRUE == pDevice->Open())
{
開始與儀器的交互和測量數(shù)據(jù)的采集;
}
else
{
打開出錯(cuò),錯(cuò)誤處理;
}
測量完成,關(guān)閉儀器;
pDevice->Close();
在這段偽代碼中,首先,定義了一個(gè)通信口的指針,但是所指的對象是一個(gè)動(dòng)態(tài)產(chǎn)生的GPIB類的對象。然后再定義一個(gè)儀器類的指針pDevice,所指的對象是動(dòng)態(tài)產(chǎn)生的一個(gè)頻譜測量儀的對象。然后通過pDevice,就可以調(diào)用接口完成具體的測量任務(wù)。
3 結(jié)語
基于這樣的面向?qū)ο蟮乃枷朐O(shè)計(jì)出來的測控系統(tǒng)的通訊接口類,在某個(gè)銀行終端的模擬測試中,可以很好地適應(yīng)串口和網(wǎng)口的測試,代碼思路清晰,非常有利于擴(kuò)展和維護(hù)。
pid控制相關(guān)文章:pid控制原理
通信相關(guān)文章:通信原理
評論