2012-06-17 11 views
5

私はUnityを使い始めています。私はまだその利点が何か不思議です。UnityContainerの利点は何ですか?Activator.CreateInstanceを介して解決しますか?

UnityContainer().Resolve<T>() genericタイプTに登録されている具体的なインスタンスを返すことができます。

Activator.CreateInstance<T>()とも思えます。

Activatorは、.NET Frameworkの組み込みクラスです。そのため、Unityの明確な機能は何ですか?

+4

依存関係注入に関するチュートリアルを読んでください。あなたの答えは... –

+4

さらに、Activator.CreateInstanceは* slow *であり、インタフェースを具体的な型にマップすることはできません。依存性注入には役に立たない –

答えて

4

MSDNは、ユニティコンテナの利点として、これらの状態:

  1. 簡素化されたオブジェクトの作成、特に階層オブジェクト構造と依存関係のため
  2. 要件の抽象化。開発者は、実行時または構成時に依存関係を指定して、クロスカット問題の管理を簡素化できます。
  3. コンテナへのコンポーネント構成の遅延による柔軟性の向上
  4. サービスロケーション機能。これにより、クライアントはコンテナーを保管またはキャッシュすることができます。
  5. インスタンスおよびタイプ傍受。

ここにはlinkがあります。

関連する問題