目次:
定義-コンポーネントオブジェクトモデル(COM)の意味
コンポーネントオブジェクトモデル(COM)は、OSやプログラミング言語に関係なく、2つのシステム間でコードを交換するためのバイナリ標準を定義する単純なMicrosoft仕様の方法です。 COMは、分散クライアントオブジェクトサービスへのアクセスを提供し、クロスプラットフォームバイナリコードとプログラミング言語を共有するために使用されます。
移植性-COMの主な目的-は、明確に定義されたCOMオブジェクトインターフェイスを通じて達成されます。
TechopediaはComponent Object Model(COM)について説明します
COMの対話性は、基盤となる実装オブジェクトに影響を与えない拡張可能なCOMソフトウェアコンポーネントとのインターフェイスを介して発生します。 COMは、開発者の透明性のために1つのプロセス内およびプロセス間通信モデルを使用します。 開発者は、サービスの実装を変更することにより効率を高めます。 COMマシンコンポーネントもメモリを共有するため、効率が向上し、優れたエラー処理とデバッグが可能になります。
ダイナミックリンクライブラリ(DLL)またはEXEファイルには、COMオブジェクトクラスが含まれています。 クライアントは、1つまたは複数のCOMインターフェイスを使用して、COMオブジェクトクラスまたはCOクラスメモリインスタンスとして定義されているCOMオブジェクトサービスにアクセスします。 クラス識別子(CLSID)と呼ばれる128ビットのグローバル一意識別子(GUID)は、一意のCOMオブジェクト識別のために各COクラスとインターフェイスに関連付けられています。
クライアントは、COMオブジェクトサービスの可用性を指定する実際のコントラクトである1つ以上のサポートされているインターフェイスを介してCOMオブジェクトにアクセスします。 COMオブジェクトインターフェイスはどのプログラミング言語にも結び付けられておらず、通常はインターフェイス定義言語で記述されています。
COMオブジェクトは複数の利用可能なサービスのセットを持つことができるため、COMオブジェクトはクライアントに複数のインターフェイスを公開する場合があります。 2つのインターフェイスの名前は同じである可能性があるため、GUIDを使用して、クライアントアクセス用のCOMオブジェクト参照を一意に割り当てます。
主なCOMモジュール機能は拡張性です。 COMオブジェクトには新しい機能が継続的に組み込まれ、古いサービスと新しいサービスにアクセスするための新しいクライアントインターフェイスが提供されます。