Мне еще предстоит прочитать здесь какие-либо слова, которые имеют большой смысл.
IoC больше для конфига?
Динамическое создание объектов лучше, чем? Дженерики? Это все не по теме.
1) IoC - это просто экономия времени по сравнению с реализацией Евангелия «композиция поверх специализации / наследования».
Таким образом, правило № 1 для использования IoC заключается в том, что вам действительно надоело иметь дело с длинными конструкторами, которые следуют «привязке к контракту, а не реализации».
С другой стороны, это шаблон стратегии как альтернатива шаблону по тем же причинам (инкапсуляция ...) ... НО это больше работы для создания всех дополнительных интерфейсных / абстрактных типов, и это больше работайте, чтобы делать это КАЖДЫЙ раз со всеми IServiceProvicerThis и IResolverThat ... Если вы не устали от утомительного выполнения контрактов кода, таких как:
IInterestingService интересно = ... вы получите экземпляр однако ..
добавить еще примерно три строки, как это ..
тогда
Служба IAmazementService = новая служба AmazementService (интересно, вторая стратегия, третья и т. Д ...)
Это стареет. Таким образом, IoC никогда не является вопросом, потому что любой, кто достаточно умен, чтобы программировать с использованием надежного дизайна, будет знать лучше У тех, кто спрашивает, есть все неправильные ответы.
Так что, если вы действительно встретите вышеупомянутое, то абсолютно. Контейнеры IoC готовы выполнить столько «творческой» работы, сколько вы можете получить, если позволите им справиться с ними. И самая распространенная творческая абстракция перед явным новым - это мистер Фабрика.
Damon