$>DI инициализирует зависимости в правильной последовательности (привет топологическая сортировка) и передает их в конструктор. Единичные явные вызовы интерфейса- точка входа.
Правильная посл-ть задается сигнатурой конструктора, а вот что делать, если у нас два типа реализуют соотв. интерфейс? Как DI решит эту проблему?