C++ COM編程之什么是組件?
什么是組件?
一個(gè)組件同一個(gè)微型應(yīng)用程序類(lèi)似,即都是已經(jīng)編譯、鏈接好并可以使用的了,應(yīng)用程序就是由多個(gè)這樣的組件打包而得到的。各定制的組件可以在運(yùn)行時(shí)同其他組件連接起來(lái)以構(gòu)成某個(gè)應(yīng)用程序。在需要對(duì)應(yīng)用程序進(jìn)行修改或改進(jìn)時(shí),只需要將構(gòu)成此應(yīng)用程序的組件中的某個(gè)用新的版本替換掉即可。
COM組件
COM,即組件對(duì)象模型,是一個(gè)說(shuō)明如何建立可動(dòng)態(tài)互變組件的規(guī)范,它提供了為保證能夠互操作,客戶和組件應(yīng)遵循的一些標(biāo)準(zhǔn)。
COM組件是以Win32動(dòng)態(tài)鏈接庫(kù)(DLLs)或可執(zhí)行文件(EXEs)的形式發(fā)布的可執(zhí)行代碼。COM組件必須滿足以下條件:
1.COM組件是完全與語(yǔ)言無(wú)關(guān)的;
2.COM組件可以以二進(jìn)制的形式發(fā)布;
3.COM組件可以在不妨礙老客戶的情況下被升級(jí);
COM組件可以透明的在網(wǎng)絡(luò)上被重新分配位置。
使用組件的優(yōu)點(diǎn)
1.應(yīng)用程序定制
組件架構(gòu)從本質(zhì)上講就是可被定制的,因用戶可以用更能滿足他們需要的組件來(lái)將某個(gè)組件替換掉;
2.組件庫(kù)
組件架構(gòu)最引人注目的優(yōu)點(diǎn)之一是快速應(yīng)用程序開(kāi)發(fā)。這一優(yōu)點(diǎn)可以使開(kāi)發(fā)人員從某個(gè)組件庫(kù)中取出所需要的組件并將其快速地組裝到一塊以構(gòu)造所需的應(yīng)用程序,如同搭積木塊一樣;
3.分布式組件
組件架構(gòu)可以使得開(kāi)發(fā)這類(lèi)分布式應(yīng)用的過(guò)程得以簡(jiǎn)化。實(shí)際上,客戶機(jī)/服務(wù)器式的應(yīng)用就是向組件架構(gòu)跨出的第一步。在那里整個(gè)應(yīng)用程序被分成兩部分:客戶機(jī)部分及服務(wù)器部分。
總結(jié)
COM提供了編寫(xiě)組件的一個(gè)標(biāo)準(zhǔn)方法。遵循COM標(biāo)準(zhǔn)的組件可以被組合起來(lái)以形成應(yīng)用程序。至于這些組件是誰(shuí)編寫(xiě)的、如何實(shí)現(xiàn)的都是無(wú)關(guān)緊要的。每一個(gè)COM組件均可同其他組件一起使用。實(shí)現(xiàn)這種可動(dòng)態(tài)改變組件的關(guān)鍵問(wèn)題是信息的封裝。對(duì)于封裝,COM是通過(guò)組件和客戶之間的連接或接口來(lái)實(shí)現(xiàn)的。對(duì)于接口,我下篇博文進(jìn)行總結(jié)。
相關(guān)文章
C++?opencv圖像處理實(shí)現(xiàn)圖片邊緣檢測(cè)示例
這篇文章主要為大家介紹了C++?opencv實(shí)現(xiàn)圖片邊緣檢測(cè)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
詳解C++模擬實(shí)現(xiàn)priority_queue(仿函數(shù))
本文主要介紹了關(guān)于C++中優(yōu)先級(jí)隊(duì)列的模擬實(shí)現(xiàn),以及仿函數(shù)的使用,優(yōu)先級(jí)隊(duì)列是一種容器適配器,其第一個(gè)元素總是最大的,仿函數(shù)本質(zhì)是一個(gè)類(lèi),重載了operator(),可改變比較邏輯,同時(shí),文中還介紹了如何進(jìn)行類(lèi)的比較,如日期類(lèi)或其指針的比較,以及庫(kù)中sort函數(shù)的使用方法2024-10-10
C++動(dòng)態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解
這篇文章主要介紹了C++動(dòng)態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
C++基于Boost庫(kù)實(shí)現(xiàn)命令行解析
Boost庫(kù)中默認(rèn)自帶了一個(gè)功能強(qiáng)大的命令行參數(shù)解析器,以往我都是自己實(shí)現(xiàn)參數(shù)解析的,今天偶爾發(fā)現(xiàn)這個(gè)好東西,就來(lái)總結(jié)一下參數(shù)解析的基本用法,該庫(kù)需要引入program_options.hpp頭文件,即可使用了2021-06-06
C++ vector模擬實(shí)現(xiàn)的代碼詳解
vector是表示可變大小數(shù)組的序列容器,就像數(shù)組一樣,vector也采用的連續(xù)存儲(chǔ)空間來(lái)存儲(chǔ)元素,本質(zhì)講,vector使用動(dòng)態(tài)分配數(shù)組來(lái)存儲(chǔ)它的元素,本文將給大家詳細(xì)介紹一下C++ vector模擬實(shí)現(xiàn),需要的朋友可以參考下2023-07-07
基于C++實(shí)現(xiàn)一個(gè)日期計(jì)算器
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的日期計(jì)算器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-10-10

