시작시 데이터베이스를 선택하고 구성 객체를 가져올 수있는 앱을 알고 있습니다.동적 구성 루트? DB 호출을 기반으로합니까?
그런 다음 해당 구성 객체를 실행하고, 여러 가지 객체를 처리하고, 다른 구성 객체를 가져 와서 루프 등에서 실행합니다.
지금 당장 할 수있는 모든 것을 구성하는 앱의 시작 부분에 구성 루트가 있습니다. 그러나 DB 호출 이후까지는 모든 것을 알지 못하기 때문에 그 지점 이후의 모든 객체 분기는 공장의 공장 뒤에 숨겨져 있으므로 config 객체에있는 모든 설정을 처리 할 수 있습니다.
제 질문은 이것이 정상입니까? 대안으로 두 개의 구성 루트 또는 두 개의 DI 컨테이너가있는 것처럼 보입니다. 하나는 DB 호출 후, 하나는 DB 호출 후.
DB 호출 후 DI 루트를 수행 할 수 있다면 컨테이너에 직접 연결하여 내 코드에서 많은 양의 공장을 삭제할 수 있습니다. 나는 무엇이 필요할 지 확신하지 못한다. 그러나 그것은 이상하게 보입니다. 또한 각 반복마다 내 컨테이너 또는 두 번째 컨테이너를 다시 만들어야한다는 것을 의미합니다. 매우 이상하게 보입니다.
편집 : 나는 어떤 응답을하지 않았다, 그러나이었다 : http://structuremap.github.io/the-container/nested-containers/
편집 : 난 그냥 StructureMap 거의이 정확한 사용 사례에 대한 중첩 된 컨테이너 기능이 있습니다, 그래서 여기 뭔가에 확실히 해요 발견 어쨌든 나중에 대답 할 수 있습니다. 내 대답을 아래에 추가했습니다.