中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 計(jì)算機(jī)技術(shù) > 應(yīng)用程序 > COM概述
視窗任務(wù)管理器開(kāi)發(fā)原理與實(shí)現(xiàn) 回到列表 制作集成sp4的 win2k 安裝光盤
 COM概述

作者:陸其明 時(shí)間: 2003-07-24 文檔類型:原創(chuàng) 來(lái)自:

隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,軟件的應(yīng)用環(huán)境變得更加廣闊;與此同時(shí),軟件的設(shè)計(jì)難度也在提高。為適應(yīng)這種分布式軟件應(yīng)用環(huán)境,組件化程序設(shè)計(jì)思想迅速地發(fā)展起來(lái)。組件化程序設(shè)計(jì)思想,即復(fù)雜的應(yīng)用程序被設(shè)計(jì)成一些小的、功能單一的組件模塊,這些組件模塊可以運(yùn)行在同一太機(jī)器上,也可以運(yùn)行在不同的機(jī)器上,甚至機(jī)器的運(yùn)行環(huán)境也可以不同。

為此,OMG (Object Management Group,對(duì)象管理組織)提出了CORBA (Common Object Request Breaker Architecture,公共對(duì)象請(qǐng)求中介體系結(jié)構(gòu)),而微軟提出了COM (Component Object Model,組件對(duì)象模型)標(biāo)準(zhǔn)。目前,CORBA模型主要應(yīng)用于UNIX操作系統(tǒng)平臺(tái)上,而COM主要應(yīng)用于Microsoft Windows操作系統(tǒng)平臺(tái)上。

COM的特性:語(yǔ)言無(wú)關(guān)性、進(jìn)程透明性、可重用性。
1. 語(yǔ)言無(wú)關(guān)性:COM是二進(jìn)制代碼級(jí)的標(biāo)準(zhǔn)。COM規(guī)范的定義不依賴于任何特定的語(yǔ)言。不同語(yǔ)言開(kāi)發(fā)的COM對(duì)象可以交互、共享;而面向?qū)ο缶幊?OOP, Object-oriented Programming)語(yǔ)言定義的對(duì)象,只能在同種語(yǔ)言中被重用。實(shí)際上,可以使用OOP編程技術(shù)來(lái)開(kāi)發(fā)COM組件,這兩種技術(shù)是互補(bǔ)的。所有編程語(yǔ)言中,與COM規(guī)范最貼近的要數(shù)C++,所以,要想深刻理解COM,一定要有C++編程基礎(chǔ)。

2. 進(jìn)程透明性:COM提供的服務(wù)組件對(duì)象在實(shí)現(xiàn)時(shí)有兩種進(jìn)程模型:進(jìn)程內(nèi)對(duì)象和進(jìn)程外對(duì)象。前者通常以DLL的形式,在客戶進(jìn)程空間中運(yùn)行;后者通常以EXE的形式,運(yùn)行在同一機(jī)器的另一個(gè)進(jìn)程空間中,或遠(yuǎn)程機(jī)器的一個(gè)進(jìn)程空間中(此時(shí),COM對(duì)象也可能是以DLL形式提供服務(wù),而遠(yuǎn)程機(jī)為其創(chuàng)建一個(gè)代理進(jìn)程)。雖然COM對(duì)象有以上幾種不同的進(jìn)程模型,但這些區(qū)別對(duì)于客戶程序來(lái)說(shuō)是透明的?蛻舫绦蛑灰裾誄OM規(guī)范操作COM對(duì)象即可,完全不必理會(huì)COM對(duì)象的進(jìn)程模型。然而,我們?cè)陂_(kāi)發(fā)COM組件時(shí),還是要慎重選擇進(jìn)程模型的。一般來(lái)說(shuō),進(jìn)程內(nèi)模型效率高一點(diǎn),但組件如果不穩(wěn)定會(huì)危及客戶進(jìn)程;進(jìn)程外模型穩(wěn)定性好,但運(yùn)行時(shí)的系統(tǒng)開(kāi)銷比較大,效率相對(duì)低一點(diǎn)。

3. 可重用性:COM對(duì)象的可重用性與一般的面向?qū)ο笳Z(yǔ)言實(shí)現(xiàn)的對(duì)象的重用過(guò)程是不同的。COM對(duì)象的重用性建立在對(duì)象的行為方式上,而不是具體的實(shí)現(xiàn)上。COM有兩種機(jī)制實(shí)現(xiàn)對(duì)象的重用:包容和聚合。假設(shè)A為外部對(duì)象,B為內(nèi)部對(duì)象。包容方式,即A實(shí)現(xiàn)了B上的所有接口方法,而在實(shí)際接口方法調(diào)用時(shí),A只是簡(jiǎn)單地調(diào)用B相應(yīng)的接口方法;而聚合方式,A不實(shí)現(xiàn)B的接口,而是把B的接口直接暴露給客戶,但A保證客戶不會(huì)知道有內(nèi)部對(duì)象B的存在。

COM對(duì)象與C++對(duì)象的比較:
1. COM對(duì)象對(duì)對(duì)象上的數(shù)據(jù)實(shí)現(xiàn)完全封裝,外部如果想訪問(wèn)對(duì)象的數(shù)據(jù),必須通過(guò)COM對(duì)象提供的接口方法。而C++對(duì)象的數(shù)據(jù)有可能被外部直接訪問(wèn)。C++語(yǔ)言對(duì)類的成員進(jìn)行了訪問(wèn)控制,public成員可以在對(duì)象外部直接訪問(wèn)。

2. COM對(duì)象的可重用性表現(xiàn)在COM對(duì)象的包容和聚合,一個(gè)對(duì)象可以完全使用另一個(gè)對(duì)象的所有功能;而C++對(duì)象的可重用表現(xiàn)在C++類的繼承,派生類可以訪問(wèn)其父類的非私有屬性、調(diào)用非私有成員函數(shù)。雖然C++和COM的重用性機(jī)制不同,但我們可以把這兩種技術(shù)有機(jī)結(jié)合起來(lái):在源代碼級(jí)使用C++的類重用性,在組件一級(jí)使用COM的重用性。

3. 多態(tài)性使得客戶程序可以通過(guò)統(tǒng)一的方法,來(lái)處理不同的對(duì)象。C++對(duì)象通過(guò)虛函數(shù)實(shí)現(xiàn)多態(tài)性,而COM對(duì)象的多態(tài)性通過(guò)接口來(lái)體現(xiàn)。

COM對(duì)象通過(guò)CLSID(一個(gè)128位的數(shù)串,如{54BB7788-0008-7789-ABAB-112233445566},也可以稱為UUID或GUID)來(lái)唯一標(biāo)示。我們通過(guò)這個(gè)CLSID,就可以創(chuàng)建對(duì)應(yīng)的COM對(duì)象(調(diào)用函數(shù)CoCreateInstance)。CLSID可以通過(guò)工具UUIDGen.exe或GUIDGen.exe來(lái)隨機(jī)產(chǎn)生。GUID不僅可以用來(lái)標(biāo)示COM對(duì)象,也可以用來(lái)標(biāo)示COM對(duì)象上實(shí)現(xiàn)的各個(gè)接口(QueryInterface調(diào)用時(shí)需要這個(gè)接口的GUID)。

出處:
責(zé)任編輯:ImHow

作者文章
COM概述
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大福“敬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
Windows7優(yōu)化調(diào)整實(shí)用小技巧十則
關(guān)于國(guó)內(nèi)Windows 7下載的一些提醒
Windows 7安全模式下修復(fù)系統(tǒng)故障
如何防止電腦被黑客入侵
syssafe病毒抗?fàn)幱?/A>
淺談手工殺毒
L2TP預(yù)共享密鑰解決內(nèi)網(wǎng)VPN連接問(wèn)題
淺談移動(dòng)硬盤的數(shù)據(jù)安全問(wèn)題
Windows組策略之軟件限制策略
特殊文件防止閃存為電腦帶來(lái)病毒

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說(shuō)明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2