元件物件模型

Microsoft 元件物件模型 (COM) 是平臺獨立、分散式、物件導向的系統,可用來建立可互動的二進位軟體元件。 COM 是 Microsoft OLE (複合檔案的基礎技術,) 、ActiveX (啟用網際網路功能的元件) ,以及其他元件。

若要瞭解 COM (,因此所有以 COM 為基礎的技術) ,請務必瞭解它不是物件導向語言,而是標準。 COM 也不會指定應用程式的結構化方式;語言、結構和實作詳細資料會保留給應用程式開發人員。 相反地,COM 會指定物件模型和程式設計需求,讓 COM 物件 (也稱為 COM 元件,或有時只是 物件) 來與其他物件互動。 這些物件可以位於單一進程、其他進程中,甚至可以在遠端電腦上。 它們可以以不同的語言撰寫,而且可能是結構上相當不同的,這就是為什麼 COM 稱為 二進位標準的原因;在程式轉譯為二進位電腦程式代碼之後套用的標準。

COM 的唯一語言需求是程式碼是以可以建立指標結構的語言產生,而且可以明確或隱含地透過指標呼叫函式。 C++ 和 Smalltalk 等物件導向語言提供可簡化 COM 物件實作的程式設計機制,但 C、JAVA 和 VBScript 等語言可用來建立和使用 COM 物件。

COM 會定義 COM 物件的基本本質。 一般而言,軟體物件是由一組資料和運算元據的函式所組成。 COM 物件是一個可透過一或多個相關函式,以獨佔方式存取物件的資料。 這些函式集稱為 介面,而介面的函式稱為 方法。 此外,COM 要求取得介面方法存取的唯一方式是透過介面的指標。

除了指定基本二進位物件標準之外,COM 還定義提供所有 COM 技術通用函式的特定基本介面,並提供所有元件所需的少量函式。 COM 也會定義物件如何透過分散式環境一起運作,並已新增安全性功能,以協助提供系統和元件完整性。

本節中的下列主題說明與設計 COM 物件相關的基本 COM 問題: