- 相關推薦
ActiveX、OLE和COM介紹
ActiveX、OLE和COM介紹
戴宗友 汪濤
熟悉面向對象編程和網(wǎng)絡編程的人一定對ActiveX、OLE和COM/DCOM這些概念不會陌生,但是它們之間究竟是什么樣的關系,對許多們還是比較模糊的。
在具體介紹它們的關系之間,我們還是先明確組件(Component)和對象(Object)之間的區(qū)別。組件是一個可重用的模塊,它是由一組處理過程、數(shù)據(jù)封裝和用戶接口組成的業(yè)務對象(Rules Object)。組件看起來像對象,但不符合對象的學術定義。它們的主要區(qū)別是:
1)組件可以在另一個稱為容器(有時也稱為承載者或宿主)的應用程序中使用,也可以作為獨立過程使用;
2)組件可以由一個類構成,也可以由多個類組成,或者是一個完整的應用程序;
3)組件為模塊重用,而對象為代碼重用。
現(xiàn)在,比較流行的組件模型有COM(Component Objiect Module,對象組件模型)/DCOM(Distributed COM,分布式對象組件模型)和CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結構)。到這里,已經(jīng)出現(xiàn)了與本文相關的主題COM,而CORBA與本文無關,就不作介紹。之所以從組件與對象的區(qū)別說起,是想讓大家明確COM和CORBA是處在整個體系結構的最底層,如果暫時對此還不能理解,不妨繼續(xù)往下看,最后在回過頭看一看就自然明白了。
現(xiàn)在開始闡述ActiveX、OLE和COM的關系。首先,讓大家有一個總體的概念,從時間的角度講,OLE是最早出現(xiàn)的,然后是COM和ActiveX;從體系結構角度講,OLE和ActiveX是建立在COM之上的,所以COM是基礎;單從名稱角度講,OLE、ActiveX是兩個商標名稱,而COM則是一個純技術名詞,這也是大家更多的聽說ActiveX和OLE的原因。
既然OLE是最早出現(xiàn)的,那么就從OLE說起,自從Windows操作系統(tǒng)流行以來,“剪貼板”(Clipboard)首先解決了不同程序間的通信問題(由剪貼板作為數(shù)據(jù)交換中心,進行復制、粘貼的操作),但是剪貼板傳遞的都是“死”數(shù)據(jù),應用程序開發(fā)者得自行編寫、解析數(shù)據(jù)格式的代碼,于是動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange,DDE)的通信協(xié)定應運而生,它可以讓應用程序之間自動
【ActiveX、OLE和COM介紹】相關文章:
使用OLE DB和ADO調(diào)用返回記錄集的Oracle存儲過程03-18
巧用ActiveX控件實現(xiàn)郵件附件批量備份11-24
在VC 中用ActiveX控件實現(xiàn)與單片機的串行通信03-19
基于COM技術的公式計算組件的開發(fā)與實現(xiàn)11-23
COM組件技術在現(xiàn)場總線控制系統(tǒng)組態(tài)軟件中的應用03-18
描述和規(guī)定03-18
時間和空間的形而上學闡明和先驗闡明11-23
“什么”的功能和翻譯11-21