2012-03-05 4 views
2

私は、COMが実際にプログラミングする方法であることを理解しています(つまり、構造化プログラミングやOOプログラミングなど)。しかし、少し古いです。だから私は本当にこの仕様のセットに本当に何が置き換わっているのだろうと思っていただけです。 .NETのドキュメントでこれを見つけることができますか?Microsoft COM仕様の置き換えですか?

+1

COMはmoスレッドとプログラムの間でデータがどのように転送されるかについての仕様書があります。それはプログラミングスタイルを生み出す効果を持ちますが、それはデータ転送の核心です。 – JaredPar

答えて

1

COMは交換されていません。コンポーネントオブジェクトモデルは、Windowsの中核部分であり、近い将来もそのままになります。

COMはプロセス間通信(マシン上のアプリケーション間の通信)の1つのメカニズムを提供しますが、dllを共有する(コンシューマ向けの)はるかに単純なシステムとしても使用されます。 VBAがMS Officeでうまく動作するようにするCOM(またはActiveX、OLEなど)は、ActiveXコントロールの基盤です。

COMは(OOPなどとは違って)プログラムする方法ではありませんが、実行時に他のアプリケーションへのアクセスを容易にするためにウィンドウ上で動作するテクノロジです。

.NETは、ラッパーでCOMオブジェクトを使用できます。また、すべてのアプリケーションが機能にアクセスできるようにするには、COMラッパーを提供するのが最良です。

ZeroMQなどの他のアプリ間通信のメソッドが存在するようになりました。

1

COMの元の仕様は古いですが、仕様とコンセプトはまだ使用されており、COMオブジェクトを作成して使用することはできます。 .NETの場合

、あなたは以下のリンクで見ることによって起動することができます。また

Com Interop Part 1: C# Client Tutorial (C#) @ MSDN
Interoperating with unmanaged code @ MSDN

、COMと非常によく似ているか、同じ意味を持っている他の仕様があります。特に、XPCOMはFireFoxのプラグイン仕様で使用されており、FireFoxの内部で接続可能なオブジェクトにも使用されています。

XPCOM @ MDN (Mozilla)

WinRTのはCOMのコンセプトでも重いされているWindows用の今後のプラットフォームのアップデートです。 WinRT demystified - Miguel de Icaza

仕様のヘッドはここにある:The Windows Runtime @ MSDN

ここにいくつかの有用ながあります。ここに述べたように、.NET開発者にとってWhy is WinRT unmanaged @ StackOverflow

、宣言型のオーバーヘッドの多くが隠されていますまた、COMのコンテキストでは、C++でWinRTコンポーネントを開発すると類似していますが、一部の構文はマネージC++から借用されています。Creating Windows Runtime Components in C++ @ MSDN