В настоящее время я перехожу из StructureMap в Castle Windsor.
Используя StructureMap, вы можете загрузить фреймворк в одном центральном месте, а затем вызвать ObjectFactory.GetInstance в любом месте вашего кода, чтобы получить экземпляр, использующий эту конфигурацию. Итак, концептуально существует единственный контейнер, который вы настраиваете, и вызовы ObjectFactory используют этот контейнер.
В обучающих материалах, которые я видел для Windsor, экземпляр контейнера всегда создается явно, а разрешение происходит через экземпляр этого контейнера. Это просто разница в подходах между двумя фреймворками?
Предполагая, что это так, каков рекомендуемый способ обработки случаев, когда разрешение должно происходить отдельно от конфигурации?
(В идеале один вызов Resolve () может быть выполнен после кода конфигурации, и никакие другие ссылки на контейнер не будут существовать; однако есть случаи, когда это невозможно, например, при работе с устаревшей кодовой базой.)