Почему в Dependency Injection обычно передают интерфейсы, а не конкретные реализации

C#ИнтерфейсыИнъекция зависимостейООППаттерны проектирования