0

MVVMlightツールキットを使用してMVVMWPFアプリケーションを開発しています。

SimpleIocコンテナには、主に設計時と実行時の分離が含まれています(間違っている場合は修正してください)。

私の質問はそれ以外のことをするのですか?

プログラムの他の部分にはIOCが必要であり、Ninjectのようなものを使用する可能性が非常に高いです。

また、それを拡張可能にする可能性が非常に高いので、MEFを使用します。

次に、アプリケーションには3つの独立したIOC(mvvmlight、Ninject、およびMEFのSimpleIoc)があります。これは実行可能で必要ですか?

他の2つの作業を1つで行うことはできますか、それとも、異なる領域をカバーするために3つが本当に必要です。

ベストプラクティスの提案はありますか?

前もって感謝します。

4

2 に答える 2

1

プリズムにもう一票。Prism 内のコンテナーの場合、IoC コンテナーを 1 つだけ選択する傾向があり、通常は MEF を選択します。彼らが言うすべてのこと(発見可能性、プラグインアーキテクチャ、再構成など)でうまく機能します。これを使用してアプリを接続し、viewmodel をビューに結び付け、リージョン ナビゲーションがインスタンス化できるようにします。

Unity が優れている分野の 1 つは、動的なオブジェクトの作成です。Unity コンテナーから特定のタイプのオブジェクトを要求し、依存関係が満たされたオブジェクトを取得できます。しかし、Glen Block が作成した、CompositionInitializer と呼ばれる素敵な小さなツールがあります。これにより、MEF を使用して作成した任意のクラスのインポートを満たすことができます。ここここのブログ投稿では、使用方法と入手先について説明しています。

于 2013-02-12T07:52:55.337 に答える