IoC 용 Unity를 사용하고 있으며 How not to do dependency injection에 나와있는 원칙을 따르기를 원합니다. 그래서 전역 적으로 사용할 수있는 컨테이너가없고 코드 전체에 mContainer.Resolve<Type>()
이 없지만 생성자가 주입됩니다.적절한 컨테이너 선택 Unity
제 문제는 이러한 원칙을 여러 컨테이너에 적용하는 것입니다. 내 응용 프로그램은 많은 제품 (공유 모델을 따르는 객체)을 비교하며 각 제품은 자체 컨테이너로 구성됩니다.
저는 '제품'(많은 어린이가있는 객체로 볼 수 있음)을 만드는 방법을 찾고 있습니다. 컨테이너를 지정하지 않고 자체 컨테이너를 사용합니다. 이 컨테이너는 하위 컨테이너 또는 명명 된 컨테이너 일 수 있습니다. 어떤 차이가 있다고 생각하지 않습니까?
화합 확장을 살펴 보았지만 아직 답을 찾지 못했습니다.
모든 개체에 대해 다른 컨테이너가 필요합니까? 내가 뭔가를 잘못 해석했다고 확신하지만, 좀 더 명확히 해줄 수 있니? – Tipx
** 모든 ** 객체에 대한 컨테이너가 필요하지 않습니다. 그러나 여러 개의 '제품'(동일한 클래스 계층 구조에서 파생되지만 특정 세부 정보로 인해 다르게 동작하는 개체)가 있습니다. 모든 제품은 자체 컨테이너를 사용하여 자체 파생 클래스를 등록해야합니다. – Moolie
음, 공연 목적으로 여러 개의 컨테이너가있는 것을 이해할 수 있지만, 두 개의 다른 컨테이너에있는 두 엔티티 사이에 링크가 있으면 곧 좋은 시간을 갖지 못할 것입니다. 같은베이스/추상 클래스의 다른 구현에서는, 적절한 해상도가 단지 실행시에만 알려지는 경우, 명명 된 등록을 사용하거나 경우에 따라서는 팩토리를 사용합니다. – Tipx