it-swarm-ja.com

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

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

9
Sergey

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

3
Morgan T.

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

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

もちろん、それだけではありませんが、それはあなたにとってより具体的な例かもしれません。

12
dsolimano

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

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

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

4
bwDraco

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

1990年代初頭、ビルゲイツは、MicrosoftがすでにExcelを持っていたため、PowerPoint開発チームがPowerPoint製品用に独自のグラフ作成サブシステムを実装することを許可しませんでした。そこで彼らは、自社製品がデータを交換し、相互に機能を呼び出すことができるようにする仕様を開発しました。 Microsoftは、これらのAPIを一般化し、公開し、さらに多くのコード設計ガイドラインを公開しました。

2006年のこのビデオを参照してください: Tony Williams:COMの共同発明者

2012年になっても、COMは依然としてWMIとOfficeの中核であると思います。

1
knb