com和ole的關係,正如微積分與物理的關係;c++
當時牛頓發明微積分正是專門用來解決物理學中的機械以及動力學方面的問題,web
後來微積分被應用到不少方面;編程
而com當時也正是被用來解決ole方面的問題,後來才被用於解決不少其餘方面的問題;windows
當他編寫那本書是,com只有一個應用就是ole;api
這本書的主要目的就是講com同ole分開並重點講解com的基本概念;數組
單個應用程序VS組件應用程序網絡
COM:組件對象模型;分佈式
使用組件的有點:函數
方便定製工具
com是一個說明如何創建可動態互變組件的規範;
com組件應當知足的限制:
與語言無關;
可使用二進制發佈;
版本控制上保證對老版本的兼容;
com不是什麼?
com不是計算機語言,com是用來講明如何編寫組建的,
com與dll,com是使用了dll來給組件提供動態連接的能力;
com也不是像win32 api的一個函數集;
com也不是一個相似於MFC同樣的C++類庫;
com庫:
com方法:
同結構化編程和麪向對象的編程同樣,com也是一種組織軟件的方法;
DcOM:分佈式com;
對象鏈接和嵌入的microsoft版本被稱爲OLE;
OLE的第一個版本使用DDE(動態數據交換);
對於com來講,接口就是包含一個函數指針數組的內存結構;
爲使之成爲一個com接口,他們必須繼承一個成爲iunkown的接口;
巧合!!1
第五章
使用vc++開發com
對於com的應用開發來講,創建一套標準的,可以不斷髮展的類庫是很是有意義的。
microsoft vc++創建了創建了兩個可以知足這種要求的類庫:MFC ALT;
MFC:不只能夠用於com應用,更是開發各類應用的基本類庫,而ALT主要側重於com的開發;
over
com原理與應用:26頁
47;
生存期控制和接口查詢;
Iunkown接口經過引入「引用計數」的方法,能夠有效的控制對象的生存期;
com的接口定義語言:IDL
目前的類庫封裝有一點像是com的封裝規範;
第二章:
主要介紹了com對象和接口方面的知識,重點討論了組件程序和客戶程序之間的通訊規範。
第三章:
com的實現與操做系統密切相關;
由於com最初源於windows平臺,因此com實現細節不少部分直接用到了windows系統的一些特性,
好比系統註冊表,動態連接庫等;
實際上com組件對象模型是一個平臺無關的;
windows上使用的com標準只是com的一個實現;
本章在上一章的基礎上,重點講
com對象的管理;
com對象的建立過程
com庫的一些功能;
進程內組件:動態連接庫;
進程外組件:exe程序;
_stdcall調用習慣;
_cdecl調用習慣;
58:
windows下不一樣進程之間通訊的方法:
動態數據交換(DDE),命名管道(named pipe),
共享內存等;
com採用了本地過程調用(local procedure cal)LPC和遠過程調用(RPC)用於在本地和不一樣機器的不一樣進程之間進行調用;
LPC和RPC的機理相同,只不過RPC要經過網絡傳遞信息。
windows的註冊表是一個操做系統級的信息倉庫;
windows提供了一個用於註冊進程內組件的實用工具RegSve32.exe
《com本質論》
由潘愛民翻譯;
這本書並不適合新手,目的是幫助你在有必定的基礎以後,幫助你提高對com思想的理解;
應當學習《com技術內幕》,《com原理與應用》