Я искал все утро, пытаясь найти лучшие практики для доступа к вашему IoC.После добавления инжектора конструктора в ваши классы вам все еще нужно получить доступ к константе из классов, которые могут быть глубоко в вашем графе объектов приложений.В моем случае я делаю MVVM в WPF, и некоторые из моих моделей представления должны создавать другие модели представления, и они будут использовать контейнер для этого.Но вопрос в том, откуда им взять контейнер.Имеет ли смысл вводить и распространять?Можно ли сделать его инъекционным синглтоном?Является ли фабрика, которая обслуживает один сингл, более подходящей?
Какие есть варианты и компромиссы?
Обновление
Я нашел этот замечательный доклад МэттаHinze, который охватывает большую часть IoC: http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/04/08/inversion-of-control-in-action-by-matt-hinze-north.aspx
Похоже, один из ответов - использовать функцию сканирования и сохранять конфигурации IoC в реестрах в каждой сборке, а затем во время сканирования эти конфигурации реестра будут добавлены.
Есть ли другие подходы для рассмотрения?Особенно учитывая, что Мэтт продемонстрировал использование шаблона ServiceLocator, в то время как Марк Симан называет это анти-паттерном.Обратите внимание, что Мэтт предостерегал от использования шаблона и что определение Марка локатора службы (http://blog.ploeh.dk/Trackback.aspx?guid=5f05c086-295b-41e5-a50a-ed0cd77ac4bd) кажется отличным от того, что продемонстрировал Мэтт.