Горячая замена зависимостей - не единственная цель использования DI-контейнера.
Внедрение зависимостей (DI) - это принцип, который помогает нам разработать слабосвязанный код. Только слабая связь означает, что мы можем варьировать потребителя и услуги независимо друг от друга. Как мы достигаем этого, на этом уровне не рассматривается.
DI Containers - это платформы, которые помогают совместно использовать проводные зависимости. Это более или менее просто служебные библиотеки, которые помогают нам применять шаблоны DI. Еще раз, как мы настраиваем контейнер, перпендикулярно тому, как мы используем эти зависимости.
XML-конфигурации позволяет нам изменять конфигурацию контейнера без перекомпиляции . Код как конфигурация не.
Однако замена зависимостей без перекомпиляции обычно имеет значение только для небольшого подмножества всего вашего слабо связанного кода. В остальном, подход , основанный на *1025* конвенции, гораздо более эффективен, потому что он обычно на менее хрупкий . См. здесь для получения дополнительной информации.