C++ COM編程之什么是組件?
什么是組件?
一個組件同一個微型應(yīng)用程序類似,即都是已經(jīng)編譯、鏈接好并可以使用的了,應(yīng)用程序就是由多個這樣的組件打包而得到的。各定制的組件可以在運行時同其他組件連接起來以構(gòu)成某個應(yīng)用程序。在需要對應(yīng)用程序進行修改或改進時,只需要將構(gòu)成此應(yīng)用程序的組件中的某個用新的版本替換掉即可。
COM組件
COM,即組件對象模型,是一個說明如何建立可動態(tài)互變組件的規(guī)范,它提供了為保證能夠互操作,客戶和組件應(yīng)遵循的一些標準。
COM組件是以Win32動態(tài)鏈接庫(DLLs)或可執(zhí)行文件(EXEs)的形式發(fā)布的可執(zhí)行代碼。COM組件必須滿足以下條件:
1.COM組件是完全與語言無關(guān)的;
2.COM組件可以以二進制的形式發(fā)布;
3.COM組件可以在不妨礙老客戶的情況下被升級;
COM組件可以透明的在網(wǎng)絡(luò)上被重新分配位置。
使用組件的優(yōu)點
1.應(yīng)用程序定制
組件架構(gòu)從本質(zhì)上講就是可被定制的,因用戶可以用更能滿足他們需要的組件來將某個組件替換掉;
2.組件庫
組件架構(gòu)最引人注目的優(yōu)點之一是快速應(yīng)用程序開發(fā)。這一優(yōu)點可以使開發(fā)人員從某個組件庫中取出所需要的組件并將其快速地組裝到一塊以構(gòu)造所需的應(yīng)用程序,如同搭積木塊一樣;
3.分布式組件
組件架構(gòu)可以使得開發(fā)這類分布式應(yīng)用的過程得以簡化。實際上,客戶機/服務(wù)器式的應(yīng)用就是向組件架構(gòu)跨出的第一步。在那里整個應(yīng)用程序被分成兩部分:客戶機部分及服務(wù)器部分。
總結(jié)
COM提供了編寫組件的一個標準方法。遵循COM標準的組件可以被組合起來以形成應(yīng)用程序。至于這些組件是誰編寫的、如何實現(xiàn)的都是無關(guān)緊要的。每一個COM組件均可同其他組件一起使用。實現(xiàn)這種可動態(tài)改變組件的關(guān)鍵問題是信息的封裝。對于封裝,COM是通過組件和客戶之間的連接或接口來實現(xiàn)的。對于接口,我下篇博文進行總結(jié)。
相關(guān)文章
對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法
這篇文章主要介紹了對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法,二者都是用于復(fù)制內(nèi)存內(nèi)容,注意區(qū)別,需要的朋友可以參考下2015-08-08C++超詳細講解隱藏私有屬性和方法的兩種實現(xiàn)方式
為了避免因為將類庫中的私有成員開放給類的使用方而導(dǎo)致的軟件邏輯外泄,因此需要將對外代碼中的私有成員隱藏起來,下面我們來了解一下隱藏私有屬性和方法的兩種實現(xiàn)方式2022-05-05