19

私のチームと私は、WPF と Silverlight をマルチターゲットにする可能性が高いモジュラー アプリケーションの開発を計画し始めています。

個人的には、古いバージョンの PRISM を使用して、MVVM パターンを使用した複合 Silverlight アプリを作成した経験があります。当時、さまざまなモジュールの依存関係を処理するための MEF に慣れていなかったため、MEF は使用しませんでした。

私たちは特定のフレームワークと結婚していませんが、より大きなプレーヤーの 1 つを使用したいと考えています。そのため、Caliburn/Caliburn Micro、Prism、MVVM Light、Reactive UI の調査を開始しました。

モジュール性について私が読んだことのほとんどは、PRISM と MEF がプロセスのその部分を処理することを示唆しています。私はまだこれらのいくつかに頭を悩ませているので、いくつかの明らかなオプションが欠けているかどうかはわかりません. Caliburn Micro と MEFでこの記事を見つけることができました。

PRSIMがリージョンを使用する方法などと同様に、他のフレームワークのいくつかを使用して複合アプリを構成する同様の記事を誰かに教えてもらえますか? 理想的には、最大限の柔軟性を提供しながら、必要なフレームワークの数を制限したいと考えています。私たちは、「最善の組み合わせ」のアプローチを採用し、たとえば MEF/PRISM を使用して合成を処理し、MVVM Light をビュー管理などに使用することを嫌いません。しかし、1 で十分なのに、なぜ 2 を使用するのでしょうか。

4

1 に答える 1

30

おそらく最初に行うべきことの 1 つは、これらを適切なバケットに分離することです。これは、MVVM フレームワークとアプリケーション構成フレームワークを混在させる場合によく見られます。それらを適切なバケットに入れたら、各カテゴリから 1 つのフレームワークを選択し、それらを組み合わせて最適なシナリオと見なすことができます。

アプリケーション構成

  • Prism (任意の IoC コンテナーを使用: MEF、Unity、Ninject、Autofac など。Prism を使用すると MVVM を簡単にすることがいくつかありますが、完全な機能を備えた MVVM フレームワークとは呼びません...主にモジュラー アプリケーション構成です)フレームワーク。)
  • MEF (MEF は、実際にはそのままでアプリケーションの構成を行うことができます。単なる IoC フレームワークとして片付けられることがよくありますが、一見すると強力です。)

MVVM フレームワーク

  • ReactiveUI (私のお気に入り)
  • カリバーン
  • カリバーンマイクロ
  • MVVMライト

これはあなたが決断を下すのに役立つと思います。好きなアプリケーション構成テクノロジと好きな MVVM フレームワークを選択して、レースに出掛けることができます。

記事に関しては、あまり多くありません。Prism を使用したアプリケーションの構成に関する優れた記事はたくさんありますが (ほとんどが Prism の仕事です)、MEF 自体を使用したアプリケーションの構成に関する優れた記事を次に示します。

http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/08/11/wpf-mef-declarative-composite-ui.aspx

また、Glenn Block のブログのシリーズ「Building HelloMEF」もチェックしてください。包括的なリストは見つかりませんでしたが (彼はタグ付けと一致していませんでした)、ここに「MEF」タグがあります。ここにはたくさんの良いものがあります:

http://blogs.msdn.com/b/gblock/archive/tags/mef/default.aspx?PageIndex=1

于 2011-02-15T19:37:42.457 に答える