На практике я считаю, что проекты, основанные на внедрении зависимостей, хотя и немного более многословны, с ними гораздо легче иметь дело, потому что здесь больше контроля, меньше связей между классами, больше гибкости с реализацией и более широкое использование существующих классов во всех применение.
Это зависит от того, насколько четко определены или интуитивно понятны зависимости. Исходя из родного C ++ фона, я нашел в .NET части, где зависимости явно очевидны и обеспечивали большую гибкость, но другие области, которые я просто не понимал и не мог сразу понять требования к использовать определенный фрагмент кода или объекта, из-за множества факторов, включая именование классов и мои знания о системе.
Я говорю, что если вы собираетесь разрабатывать свой код с учетом внедрения зависимостей, просто постарайтесь сделать зависимости максимально понятными и интуитивно понятными.
Так или иначе, это моя идея.