Согласен с fixxxer, в плане того, что DI дает преимущество, когда используется на уровне фреймворка.
Я вот чтобы разобраться самому со всем запилил свой
фреймворк,
где основным паттерном является внедрение зависимостей.
Но вот то, что это только для больших проектов — не очень согласен, DI дает о себе знать, когда поддерживаешь даже не очень большой проект. А при разработке да, может немного тормозить, если с непривычки особенн.