2009-07-21 3 views
0

내가 다양한 소스에서 왔 코드로 프리즘 프로젝트를 가지고, 모든 것이 아주 잘하고있다,하지만 일부 모듈에 내가 주입 것으로 나타났습니다프리즘의 IContainer와 IUnityContainer의 차이점은 무엇입니까?

IContainer container 

및 다른 모듈에 나는

IUnityContainer container 

된 IContainer 만, 구성 요소를 추가하고 IUnityContainer는 방법 수십 가지고있는 동안를 제거하는 것 같다 주입.

IContainer를 자주 IUnityContainer로 변경하여 후자의 해결 방법을 사용할 수 있습니다. 이 두 가지의 차이점은 무엇이며 IContainer를 사용해야하는 이유는 무엇입니까?

답변

2

이 두 가지는 서로 다른 목적을 가지고 있습니다.

IUnityContainer는 BuildUp, Resolve, Register 등의 종속성 주입/서비스 위치 시나리오에서해야 할 모든 것을 지원하는 종속성 주입 컨테이너입니다. Unity에 대한 자세한 내용은 Unity on Codeplex

된 IContainer는 IComponents있는 개체에 대한 일반 컨테이너를 만드는 데 사용됩니다 : 실제로 엔터프라이즈 라이브러리 및 의 일부는 여기에 이동하여) 감사 원장으로을 사용했다. 여러 구성 요소에서 사용되며 System.ComponentModel의 .NET Framework에 있습니다. Unity 또는 CAG와 직접적인 관련이 없습니다. WPF에서 IComponents를 간접적으로 사용할 수는 있지만, 더 많은 Windows Forms 및 적은 WPF였던 것으로 생각합니다. IContainer

종속성 주입을 수행 할 때 IContainer가 아닌 IUnityContainer를 사용해야합니다.

관련 문제