저는 Ninject (및 DI 일반적으로)를 처음 사용했습니다.ninject를 사용한 초기화 후 객체 생성
나는 어떻게 커널로드 모듈을 이해하고, 내가 지금까지 작성한 코드 한 줄을 가지고하는 경향이 :
내 모듈의 바인딩에서 필요한 모든 기능을 구성myKernel.Get<MyApp>()
. 새 인스턴스가 초기화 될 필요가있는 경우 초기화를 위해 바인드 한 팩토리가 이러한 인스턴스를 처리합니다. 지금까지, 공장은 요구에 따라 객체를 새로 만드는 것만으로, 어떤 객체 지향 의존성도 없었습니다.
이제는 초기화 후 객체 생성에 대해 생각해 봐야하고 내 공장 패턴이 더 이상 절단하지 않는다는 점에 도달했습니다. 이것은 (원격) 클라이언트를위한 pub/sub 인터페이스를 지원하는 것입니다. 서버에 연결할 때마다 ninject 모듈에 정의 된 바인딩 집합에 따라 새로운 IClient
인스턴스를 만들고 싶습니다. 이것은 초기화시에 전달되는 팩토리가 자체 커널 (또는 메인 커널에 대한 참조)을 가져야 함을 의미합니까? 어디에서 CommonServiceLocator 기능을 사용합니까? CSL이 필요합니까?
막 다른 길을 막을 때까지 다른 사람들이이 문제에 어떻게 접근 할 수 있는지 여기에서 물어 보는 것이 가장 좋습니다.
감사합니다. Remo. 따라서 2.3에서 팩토리 인터페이스의 구체적인 구현을 만드는 것에 대해 걱정할 필요가 없습니다. 실제 구현은'ToFactory()'호출을 사용하여 바인드 될 때 어떤 방법 으로든 시작됩니다. – spender
예 동적 프록시를 사용하여 자동으로 구현 됨 –
니스. 당신의 도움을 주셔서 감사합니다. 그것은 내 머리 속에 많은 질문을 해결합니다. – spender