저는 이전 프로젝트에서 Castle Windsor를 사용 해왔고 정말 좋아했습니다. 현재 프로젝트에서 다른 IoC 컨테이너를 사용하려고합니다. 캐슬 윈저 (Castle Windsor)는 2007 년부터 새로운 버전을 출시하지 않았으며 여전히 버전 1.0이 아니므로 상용 환경에서 사용하는 것을 정당화하기는 어렵습니다.다른 IoC 컨테이너에는 IInitializable과 유사한 기능이 있습니까?
캐슬 윈저에 대해 좋아하는 점 중 하나는 서비스가 IInitializable
으로 구현 됨으로써 모든 종속성이 설정되면 서비스에서 Initialize 메서드를 호출 할 수 있다는 것입니다. 나는 이것을 많이 사용했다. 그것은 생성자 주입 대신에 속성 주입을 쉽게하고 코드와 테스트를 깨끗하게 정리합니다.
대체로 StructureMap, AutoFac, Unity 및 Spring.Net을 살펴 봤지만 이와 유사한 Spring.Net 만 지원합니다. 자동으로 Init()
메서드가 호출됩니다. 불행히도 Spring.Net은 IoC 컨테이너 (인터페이스 선언 대신 문자열 키를 기반으로 주입하므로 자동 와이어 링 지원도 제한됩니다)를 사용하는 방식을 실제로 지원하지 않습니다.
내가 본 IoC 컨테이너? 어떻게 든 IoC 컨테이너로 작업하는 내 방식이 잘못된 것입니까? 아니면 IInitializable 또는 Init() 같은 것을 지원하는 다른 IoC 컨테이너가 있습니까?
캐슬은 트렁크에서 자신 만의 릴을 만들 것을 권장합니다. 그 이유는 잠시 동안 릴리스가 없었기 때문입니다. – CVertex
또 다른 메모에서 캐슬에서 Autofac과 결코 뒤돌아 보지 마십시오 – CVertex
Autofac은 지금 좋은 대안처럼 보입니다. 나는 유창한 등록 물건을 얻는 유일한 방법이기 때문에 내 자신의 취미 프로젝트를 위해 트렁크에서 건축 해왔다. 하지만 전문적인 작업을 위해서는 잘 테스트 된 릴리스를 원합니다. – Mendelt