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++?opencv圖像處理實(shí)現(xiàn)圖片邊緣檢測示例
這篇文章主要為大家介紹了C++?opencv實(shí)現(xiàn)圖片邊緣檢測示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
詳解C++模擬實(shí)現(xiàn)priority_queue(仿函數(shù))
本文主要介紹了關(guān)于C++中優(yōu)先級隊(duì)列的模擬實(shí)現(xiàn),以及仿函數(shù)的使用,優(yōu)先級隊(duì)列是一種容器適配器,其第一個元素總是最大的,仿函數(shù)本質(zhì)是一個類,重載了operator(),可改變比較邏輯,同時,文中還介紹了如何進(jìn)行類的比較,如日期類或其指針的比較,以及庫中sort函數(shù)的使用方法2024-10-10
C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解
這篇文章主要介紹了C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
C++ vector模擬實(shí)現(xiàn)的代碼詳解
vector是表示可變大小數(shù)組的序列容器,就像數(shù)組一樣,vector也采用的連續(xù)存儲空間來存儲元素,本質(zhì)講,vector使用動態(tài)分配數(shù)組來存儲它的元素,本文將給大家詳細(xì)介紹一下C++ vector模擬實(shí)現(xiàn),需要的朋友可以參考下2023-07-07

