3

どのブートストラップ (MEF、Unity、Autofac... など) が caliburn micro に適している (最適な) か、あなたの意見とその理由を教えてください。

お気に入りがあれば、このブートストラッパーのコードを VM クラスまたは外部アセンブリで使用する方法とともに投稿できます。私はそれを嬉しく思います。

私はこのドメインの初心者です。私の質問が少しばかげている場合は申し訳ありません。

すべての意見、アドバイス、コード例に感謝します。

4

2 に答える 2

6

最善の解決策はありません。アプリケーションの設計によって異なります。MEFは(Unity、Autofacなどとは異なり)汎用のIoCコンテナーではなく、タイプとその構成の発見可能性に焦点を当てています。

これは、拡張機能を実行時に検出してアプリケーションのシェルに統合できる複合アプリケーションに適しています。その強みは、サポートアセンブリを指定されたフォルダにドロップして、追加の作業なしでピックアップできることです。

Unityなどはより汎用的であり、MEFを超えた機能を提供し、オブジェクト構成に加えて、ライフタイム管理やインターセプトなどのDIの他の側面にも焦点を当てています。

拡張機能/プラグインをサポートするためのMEFと、アプリケーションの一般的なDIインフラストラクチャ用のUnity / Autofac /CastleWindsorなどのより汎用的なIoCコンテナの両方を使用することを妨げるものは何もありません。

DIを初めて使用する場合は、必要なすべてのオブジェクトコンポジション機能を提供するため、当面はMEFを使用することをお勧めします。Robは、MEFを使用するBootstrapperの実装をすでに提供しています。

于 2011-01-17T14:04:03.647 に答える
0

または、アドイン アーキテクチャには MEF を使用し、依存関係の挿入には AutoFac などの適切な IoC フレームワークを使用することもできます。

于 2011-05-12T12:53:37.150 に答える