나는이 글 전체를 두 번 읽었고, 사람들은 질문에 의한 것이 아니라 그들이 아는 것에 의해 응답한다고 생각합니다.
JP의 원래 질문은 리졸버와 많은 클래스를 전송하여 객체를 생성하는 것처럼 보이지만 이러한 클래스 / 객체는 자체적으로 서비스이며 주입에 적합하다고 가정합니다. 그들이 아닌 경우 어떻게?
JP, 당신이 활용 DI를 찾는 경우 와 상황에 맞는 데이터를 주입 혼합의 영광을 원하는, 이러한 패턴 (또는 가정 "안티 패턴")의 아무도 특별히 주소가. 실제로 그러한 노력으로 당신을 지원할 패키지를 사용하는 것으로 요약됩니다.
Container.GetSevice<MyClass>(someObject1, someObject2)
...이 형식은 거의 지원되지 않습니다. 구현과 관련된 비참한 성능에 추가 된 이러한 지원의 프로그래밍 어려움은 오픈 소스 개발자에게는 매력적이지 않다고 생각합니다.
그러나 MyClass에 대한 팩토리를 생성하고 등록 할 수 있어야하고 해당 팩토리는 전달을 위해 "서비스"로 푸시되지 않은 데이터 / 입력을 수신 할 수 있어야하기 때문에 수행되어야합니다. 데이터. "반 패턴 (anti-pattern)"이 부정적인 결과에 관한 것이라면, 데이터 / 모델을 전달하기위한 인공적인 서비스 유형의 존재를 강요하는 것은 확실히 부정적입니다 (클래스를 컨테이너로 묶는 것에 대한 느낌과 동일합니다. 동일한 본능이 적용됩니다).
비록 조금보기에 좋지 않더라도 도움이 될만한 프레임 워크가 있습니다. 예를 들어, Ninject :
생성자에서 추가 매개 변수와 함께 Ninject를 사용하여 인스턴스 만들기
그것은 .NET 용이며 인기가 있으며 여전히 깨끗한 곳은 아니지만, 당신이 선택한 언어가 무엇인지 확신합니다.