2012-06-17 101 views
5

我剛剛開始使用Unity。我仍然想知道它的優點是什麼。UnityContainer.Resolve與Activator.CreateInstance相比有哪些優勢?

UnityContainer().Resolve<T>()它可以返回 該類型的具體實例註冊爲通用類型T

我想我也可以用Activator.CreateInstance<T>()

Activator是.NET Framework中的一個內置類,所以我想知道Unity的獨特功能是什麼?

+4

閱讀有關依賴注入的任何教程,並且您將得到答案... –

+4

此外,Activator.CreateInstance是* slow *,並且不能將接口映射到具體類型。依賴注入是無用的 –

回答

4

MSDN指出這些作爲統一容器的優點:

  1. 簡化對象的創建,特別是對於分層對象結構和依賴
  2. 抽象的要求;這允許開發人員在運行時或配置時指定相關性並簡化橫切關注的管理
  3. 通過將組件配置推遲到容器提高了靈活性
  4. 服務定位能力;這允許客戶端存儲或緩存容器
  5. 實例和類型攔截。

這是link

相關問題