亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 《com 原理與應用》學習筆記 - linuszhu的專欄 - csdnblog.htm

?? OPC document,collecting~
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">特性</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可重用性:包容和聚合</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">進程透明性</SPAN><SPAN 
lang=EN> (</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">待學</SPAN><SPAN 
lang=EN>)</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安全性</SPAN><SPAN 
lang=EN> (</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">待學</SPAN><SPAN 
lang=EN>)</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多線程特性</SPAN><SPAN 
lang=EN> (</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">待學</SPAN><SPAN 
lang=EN>)</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">⊙</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第五章</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</SPAN><SPAN 
lang=EN> Visual C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">開發</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">應用</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>Win32 SDK </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的一些頭文件的說明</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">與</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口有關的一些宏</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>===============================================================================</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">正</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>===============================================================================</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">⊙</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第一章</SPAN> 
<SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>===============================================================================</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是什么</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是由</SPAN><SPAN 
lang=EN> Microsoft </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提出的組件標準,它不僅定義了組件程序之間進行交互的標準,并且也提供了組件程序運行所需的環境。在</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">標準中,一個組件程序也被稱為一個模塊,它可以是一個動態鏈接庫,被稱為進程內組件</SPAN><SPAN 
lang=EN>(in-process component)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">;也可以是一個可執行程序</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即</SPAN><SPAN 
lang=EN> EXE </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,被稱作進程外組件</SPAN><SPAN 
lang=EN>(out-of-process component)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。一個組件程序可以包含一個或多個組件對象,因為</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是以對象為基本單元的模型,所以在程序與程序之間進行通信時,通信的雙方應該是組件對象,也叫做</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象,而組件程序</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或稱作</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是提供</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象的代碼載體。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象不同于一般面向對象語言</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如</SPAN><SPAN 
lang=EN> C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">語言</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的對象概念,</SPAN><SPAN 
lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象是建立在二進制可執行代碼級的基礎上,而</SPAN><SPAN 
lang=EN> C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等語言中的對象是建立在源代碼級基礎上的,因此</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象是語言無關的。這一特性使用不同編程語言開發的組件對象進行交互成為可能。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象與接口</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">類似于</SPAN><SPAN 
lang=EN> C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中對象的概念,對象是某個類</SPAN><SPAN 
lang=EN>(class)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的一個實例;而類則是一組相關的數據和功能組合在一起的一個定義。使用對象的應用</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或另一個對象</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">稱為客戶,有時也稱為對象的用戶。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口是一組邏輯上相關的函數集合,其函數也被稱為接口成員函數。按照習慣,接口名常是以“</SPAN><SPAN 
lang=EN>I</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”為前綴。對象通過接口成員函數為客戶提供各種形式的服務。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模型中,對象本身對于客戶來說是不可見的,客戶請求服務時,只能通過接口進行。每一個接口都由一個</SPAN><SPAN 
lang=EN> 128 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位的全局唯一標識符</SPAN><SPAN 
lang=EN>(GUID</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,</SPAN><SPAN 
lang=EN>Global Unique Identifier)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">來標識。客戶通過</SPAN><SPAN 
lang=EN> GUID </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">來獲得接口的指針,再通過接口指針,客戶就可以調用其相應的成員函數。</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">與接口類似,每個組件也用一個</SPAN><SPAN 
lang=EN> 128 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位</SPAN><SPAN 
lang=EN> GUID </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">來標識,稱為</SPAN><SPAN 
lang=EN> CLSID(class identifer</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,類標識符或類</SPAN><SPAN 
lang=EN> ID)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,用</SPAN><SPAN 
lang=EN> CLSID </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">標識對象可以保證</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概率意義上</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在全球范圍內的唯一性。實際上,客戶成功地創建對象后,它得到的是一個指向對象某個接口的指針,因為</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象至少實現一個接口</SPAN><SPAN 
lang=EN>(</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">沒有接口的</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象是沒有意義的</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,所以客戶就可以調用該接口提供的所有服務。根據</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">規范,一個</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象如果實現了多個接口,則可以從某個接口得到該對象的任意其他接口。從這個過程我們也可以看出,客戶與</SPAN> 
<SPAN lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象只通過接口打交道,對象對于客戶來說只是一組接口。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">進程模型</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所提供的服務組件對象在實現時有兩種進程模型:進程內對象和進程外對象。如果是進程內對象,則它在客戶進程空間中運行;如果是進程外對象,則它運行在同機器上的另一個進程空間或者在遠程機器的空間。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">進程內服務程序:</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服務程序被加載到客戶的進程空間,在</SPAN><SPAN 
lang=EN> Windows </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">環境下,通常服務程序的代碼以動態連接庫</SPAN><SPAN 
lang=EN>(DLL)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的形式實現。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本地服務程序:</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服務程序與客戶程序運行在同一臺機器上,服務程序是一個獨立的應用程序,通常它是一個</SPAN><SPAN 
lang=EN> EXE </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">遠程服務程序:</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服務程序運行在與客戶不同的機器上,它既可以是一個</SPAN><SPAN 
lang=EN> DLL </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模塊,也可以是一個</SPAN><SPAN 
lang=EN> EXE </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件。如果遠程服務程序是以</SPAN><SPAN 
lang=EN> DLL </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">形式實現的話,則遠程機器會創建一個代理進程。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">雖然</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象有不同的進程模型,但這種區別對于客戶程序來說是透明的,因此客戶程序在使用組件對象時可以不管這種區別的存在,只要遵照</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">規范即可。然而,在實現</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象時,還是應該慎重選擇進程模型。進程內模型的優點是效率高,但組件不穩定會引起客戶進程崩潰,因此組件可能會危及客戶;</SPAN><SPAN 
lang=EN>(savetime </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注:這里有點問題,如果組件不穩定,進程外模型也同樣會出問題,可能是因為進程內組件和客戶同處一個地址空間,出現沖突的可能性比較大?</SPAN><SPAN 
lang=EN>)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">進程外模型的優點是穩定性好,組件進程不會危及客戶程序,一個組件進程可以為多個客戶進程提供服務,但進程外組件開銷大,而且調用效率相對低一點。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN lang=EN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可重用性</SPAN></P>
<P class=MsoNormal><SPAN 
lang=EN>-------------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由于</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">標準是建立在二進制代碼級的,因此</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象的可重用性與一般的面向對象語言如</SPAN><SPAN 
lang=EN> C++ </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中對象的重用過程不同。對于</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象的客戶程序來說,它只是通過接口使用對象提供的服務,它并不知道對象內部的實現過程,因此,組件對象的重用性可建立在組件對象的行為方式上,而不是具體實現上,這是建立重用的關鍵。</SPAN><SPAN 
lang=EN>COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用兩種機制實現對象的重用。我們假定有兩個</SPAN><SPAN 
lang=EN> COM </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象,對象</SPAN><SPAN 
lang=EN>1 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">希望能重用對象</SPAN><SPAN 
lang=EN>2 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的功能,我們把對象</SPAN><SPAN 
lang=EN>1 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">稱為外部對象,對象</SPAN><SPAN 
lang=EN>2 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">稱為內部對象。</SPAN></P>
<P class=MsoNormal><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN>(1)</SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包容方式。</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">對象</SPAN><SPAN 
lang=EN>1 </SPAN><SPAN 
style="FONT-FAMILY: 宋體; mso-ascii-font-fami

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av网站免费观看| 91精品国产色综合久久久蜜香臀| 日韩精品影音先锋| 日韩av一区二区在线影视| 欧美日韩综合在线免费观看| 午夜激情久久久| 欧美精品一二三区| 美女网站一区二区| 久久精品日韩一区二区三区| 成人av在线资源网站| 综合久久综合久久| 欧美视频一区二区| 久久国产尿小便嘘嘘| 久久久久久久久久久黄色| 成a人片亚洲日本久久| 日韩欧美国产一区在线观看| 久久疯狂做爰流白浆xx| 国产精品嫩草99a| 在线视频国产一区| 美女网站色91| 中文字幕一区二区三区在线不卡| 欧美色欧美亚洲另类二区| 青青草视频一区| 国产日产欧美一区| 欧美日韩在线播放| 国产综合久久久久久久久久久久| 国产欧美va欧美不卡在线| 欧美制服丝袜第一页| 毛片av一区二区三区| 国产精品看片你懂得| 欧美日韩中文另类| 成人听书哪个软件好| 亚洲成年人网站在线观看| 久久尤物电影视频在线观看| 91麻豆福利精品推荐| 久久成人麻豆午夜电影| 亚洲欧洲综合另类在线| 欧美xxxxx裸体时装秀| 色综合久久九月婷婷色综合| 久久国产精品99久久人人澡| 亚洲美女视频在线观看| 精品福利一区二区三区 | 亚洲欧洲一区二区在线播放| 欧美中文字幕不卡| 成人一区二区三区在线观看| 日韩电影免费一区| 亚洲视频在线一区| 国产欧美精品一区| 欧美不卡123| 91精品国产高清一区二区三区蜜臀 | 亚洲电影视频在线| 91麻豆.com| 成人av高清在线| 日产国产欧美视频一区精品| 亚洲人成人一区二区在线观看| 久久综合狠狠综合| 欧美一区二区在线播放| 一本大道av伊人久久综合| 国产成人午夜精品5599| 美女www一区二区| 亚洲国产乱码最新视频| 亚洲日本一区二区三区| 久久久久一区二区三区四区| 日韩免费看的电影| 777a∨成人精品桃花网| 欧美最猛黑人xxxxx猛交| gogogo免费视频观看亚洲一| 国产精品一二三区| 国产精品一区2区| 极品美女销魂一区二区三区免费| 日本一不卡视频| 视频一区二区国产| 日韩在线a电影| 午夜精品成人在线视频| 丝袜亚洲另类欧美| 日韩av午夜在线观看| 视频一区在线播放| 日韩专区欧美专区| 日韩福利电影在线| 蜜臀av一级做a爰片久久| 日韩精品国产欧美| 青青青伊人色综合久久| 久久精品国产久精国产爱| 美女视频第一区二区三区免费观看网站| 亚洲成人资源在线| 日本成人在线看| 久国产精品韩国三级视频| 精品写真视频在线观看| 国产综合成人久久大片91| 国产91精品精华液一区二区三区 | 91免费观看国产| 91最新地址在线播放| 在线视频国内自拍亚洲视频| 欧美日韩电影一区| 日韩一区二区三区在线| 日韩欧美你懂的| 欧美精品一区二区三| 中文字幕不卡在线观看| 亚洲精品免费在线观看| 亚洲国产视频在线| 蜜桃av一区二区在线观看| 国产高清不卡二三区| 99热这里都是精品| 欧美色老头old∨ideo| 精品国产亚洲在线| 亚洲婷婷综合色高清在线| 亚洲第一会所有码转帖| 久久 天天综合| 91在线看国产| 日韩免费观看高清完整版在线观看| 国产午夜亚洲精品理论片色戒| 欧美日韩亚洲国产综合| 中文字幕佐山爱一区二区免费| www.色精品| 欧美吞精做爰啪啪高潮| 精品日韩一区二区三区 | 欧美精品1区2区| 久久综合九色综合97婷婷女人| 国产精品久久夜| 日本不卡一区二区三区高清视频| 国产成人在线观看| 欧美性生活一区| 久久精品夜色噜噜亚洲a∨| 一区二区三区日韩精品视频| 久久99精品一区二区三区| 本田岬高潮一区二区三区| 欧美人与z0zoxxxx视频| 欧美激情中文不卡| 日韩在线观看一区二区| 99久久精品情趣| 日韩精品一区二区在线| 亚洲女同一区二区| 国产黄色成人av| 欧美精品亚洲二区| 国产精品久久影院| 国产综合色产在线精品| 91精品国产综合久久久久久 | 色呦呦网站一区| 久久久久久久久99精品| 亚洲成人激情自拍| 91最新地址在线播放| 欧美极品美女视频| 免费精品99久久国产综合精品| 在线免费观看一区| 国产精品久久久久久久久免费丝袜| 热久久免费视频| 欧美性色黄大片| 中文字幕在线播放不卡一区| 国产精品91xxx| 精品噜噜噜噜久久久久久久久试看| 亚洲综合999| 在线视频观看一区| 中文字幕在线不卡一区| 国产高清久久久久| 精品美女一区二区三区| 免费高清不卡av| 欧美日本视频在线| 亚洲永久精品大片| 欧美亚洲一区二区在线| 亚洲欧美色一区| 色老头久久综合| 亚洲激情图片小说视频| 91在线视频官网| 日韩一区在线播放| 成人午夜激情影院| 欧美高清在线视频| 不卡的av网站| 亚洲视频免费观看| 色网综合在线观看| 亚洲在线一区二区三区| 在线观看视频一区| 亚洲电影中文字幕在线观看| 欧美三级电影在线看| 亚洲成人tv网| 日韩一区二区三区视频在线观看| 日韩精品国产精品| 26uuu亚洲综合色欧美 | 国产成人夜色高潮福利影视| 国产日韩成人精品| 99久久er热在这里只有精品66| 国产精品久久久久9999吃药| 99麻豆久久久国产精品免费 | 久久精品国产成人一区二区三区| www.久久精品| 久久久久久99精品| 国产成人精品影院| 亚洲视频1区2区| 精品1区2区3区| 久久不见久久见免费视频7| 久久日韩精品一区二区五区| 成人av片在线观看| 亚洲一区视频在线| 精品日韩一区二区三区| 成人动漫一区二区| 亚洲精品一卡二卡| 欧美日韩1234| 国模一区二区三区白浆| 日韩理论在线观看| 欧美图片一区二区三区| 国产精品18久久久久久久网站|