Здравствуйте, ·, Вы писали:
·>Отделение логики создания компонент от логики их использования и явное описание их взаимосвязей без потери Compile-time проверки зависимостей.
Логика отделяется при помощи DI FW, запрет null в C# 8 выполнит проверку в режиме компиляции.
·>Родная поддержка навигации по коду и рефакторингов в IDE.
Сложно судить о ваших предпочтениях, но меня из коробки vs 2019 устривает, можно найти любую ссылку, причем поиск учитывает положение курсора.
·>Позволяет строго структурировать зависимости и избегать ошибок случайного создания плохих зависимостей.
что за плохие зависимости?
·>Живая документация по структуре приложения.
Особой разницы нет, разве что ответственность за создание экземпляров ложится целиком на кодера вместо отлаженной и удобной библиотеки.
Итог: больше кода и ручное управление. Оба момента давно уже признаны признаком плохого кода.