В своей работе используете ли вы DI или предпочитаете не усложнять или за вас это решение принял кто-то другой (команда, прошлый разработчик)?
На работе используем. Исторически сложилось, что там писали свой контейнер, который так и остаётся.
В своих проектах использую DryIoc.
И почему используете или не используете?
Использую, потому что это:
- Полный контроль над всеми зависимостями в корне приложения;
- Наличие в приложении швов для тестирования;
- Возможность замены отдельных модулей без необходимости переписывать +100500 зависимых участков приложения;
- С ракурса современных контейнеров с автосвязыванием корневое приложение автоматически "подхватит" новый модуль
Тут главное не поддаться соблазну и не свести все плюсы в минусы, начав использовать тот же локатор сервисов