COMオブジェクトとはどういう意味ですか?


9

それは何ですか?私が理解したように、それはいくつかのオブジェクトのための一種のマイクロソフトの特別な技術です。しかし正確には何ですか?

回答:


3

これは基本的に、Windows環境でプログラムを作成するために使用されている古いテクノロジーです。それは大きくて複雑であり、管理/サポートするのが面白くありませんでした。.NETフレームワークはその代わりです。


1
.NETフレームワークでCOMオブジェクトが使用されていませんか?
セルゲイ

3
.NETから呼び出すことができますが、まったく別のシステムです。これはCOM相互運用機能と呼ばれます。コントロールパネル>>管理ツール>>コンポーネントサービスで、コンピューター上でそれらを少し調べることができます。
モーガンT.

2
COMはすぐにはどこにも行きません。マイクロソフトの自社製品で広く使用されています。したがって、「基本的には古いテクノロジー」と呼ぶのは少し誤解を招くと思います。はい、それは90年代の初めに最初に導入されたので、技術的にはそれがしばらくの間であるという意味で「古い」ですが、それが時代遅れまたは時代遅れであることを示さないように注意する必要があります。
コーディグレイ

12

COMオブジェクトは基本的に、既知のインターフェイスを実装するブラックボックスです。また、プログラムをWindowsに登録して、プログラムがそれを取得できるようにすることもできます。

たとえば、ICalculator使用するプログラムを作成するためのインターフェイスがあるとします。これで、を実装する任意のプログラミング言語で記述されたオブジェクト(バイナリインターフェースであるため)を入れ替えることができますICalculator。その後、実行時に、ユーザーFooCorpCalculatorにPythonで記述されたCOMオブジェクトの使用を選択できるように、またはおそらくより高速が必要な場合NinjaCalculatorはCで記述されたものを選択できるように、ユーザーに何らかのオプションを提供できます。ポイントは、私のプログラムは、実装ではなくインターフェイスに依存し、後でインターフェイスを実装する実際のCOMオブジェクトを使用することを選択します。

もちろん他にもたくさんありますが、それはあなたにとってより具体的な例になるかもしれません。


4

このウィキペディアの記事を参照してください:コンポーネントオブジェクトモデル

コンポーネントオブジェクトモデル(COM)は、1993年にMicrosoftによって導入されたソフトウェアコンポーネントのバイナリインターフェイス標準です。これは、幅広いプログラミング言語でプロセス間通信と動的オブジェクト作成を可能にするために使用されます。COMという用語は、Microsoftソフトウェア開発業界では、OLE、OLEオートメーション、ActiveX、COM +、およびDCOMテクノロジを包括する包括的な用語としてよく使用されます。

多くの場合、COMオブジェクトはDLLファイルに実装されます。これらは、プログラムでさまざまな機能に使用できます。ここで使用される「オブジェクト」という用語は、オブジェクト指向プログラミングにおけるオブジェクトを指します


1
それが私がこの質問をした理由です。ウィキペディアが答えなかったからです。定義は非常に抽象的で、実際の例はありません。
セルゲイ

1

COMは、主にバイナリのレベル(必ずしもソースコードのレベルではない)でのコードの再利用と相互運用を可能にするWindows固有のテクノロジのセットです。

1990年代初頭、ビルゲイツは、パワーポイント開発チームがパワーポイント製品用の独自のチャートサブシステムを実装することを許可しませんでした。MicrosoftにはすでにExcelがあったからです。そこで、自社製品がデータを交換し、相互に関数を呼び出すことができるようにする仕様を開発しました。マイクロソフトはこれらのAPIを一般化し、公開し、さらに多くのコード設計ガイドラインを公開しました。

2006年のこのビデオを見る:トニーウィリアムズ:COMの共同発明者

2012年現在、COMはWMIとOfficeの中核にあると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.