.NET は生の COM および DCOM プログラミングを冗長化しましたか?

StackOverflow https://stackoverflow.com/questions/34300

  •  09-06-2019
  •  | 
  •  

質問

.net Framework の導入により、COM および DCOM での生のプログラミングは不要になりましたか?

(一部の COM+ サービスの使用を除きます。System.EnterpriseServices 名前空間を介したトランザクション管理用)

役に立ちましたか?

解決

OS がまだ管理されていないため、まだです。

MS が研究室で何年も話し合ってきたことをついに実行し、フルマネージド OS を生産するのであれば、そうなるでしょう。

ただし、その OS には下位互換性がありません。まず、Office、IE などのマネージド バージョンを作成する必要があります。アンマネージド アプリを実行するには仮想マシンを作成する必要があります。

その痛みは、Mac OS9 から OSX への移行に似たものになるでしょう。

他のヒント

COM は、MS が実際にドッグフーディングした最後の主要テクノロジーでした。MS は、COM に依存する新しい API の構築を続けています。たとえば、Vista の新しい Media Foundation (これも COM ベースだった DirectShow の後継のようなもの) は COM API です。Direct3D10 も同様です (D3D11 だと思います)。これがすぐになくなるとは思えませんし、多くの Windows プログラミング タスクにとって、それはまったく冗長ではありません。

まだそうなっていませんが、長期的にはそうなることを目指していると思います。もちろん、下位レベルのための場所は常に存在しますが、Microsoft の戦略について私が理解しているところによると、その動きは可能な限りマネージド コードに置き換えることです。

それは「生」が何を意味するかによると思います。私は今でも、.Net クラス ライブラリから COM API を公開する必要があると感じます。COM 経由で小さな部分を置き換えることができるため、特定のプラットフォームから .Net への移行プロセスがはるかに簡単になります。

.NET は、COM (したがって DLL Hell) を置き換えるように意図的に設計されているため、.NET アプリケーションは依然として COM コンポーネントにアクセスできますが、COM を使い続ける正当な理由がない限り、すべての新規開発は .NET に移行することをお勧めします。 。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top