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