Коротко: Шаблон проектування, у якому об’єкт отримує інші об’єкти (залежності), від яких він залежить, ззовні, а не створює їх самостійно всередині себе.
Що таке Dependency Injection (DI, Ін’єкція залежностей)?
Замість того, щоб контролер сам викликав new DatabaseConnection(), контейнер автоматично передає готове підключення через конструктор.
Ключові особливості та переваги
- Легкість заміни реальної бази даних на фейкову (Mock) під час unit-тестування
- Повне дотримання принципу інверсії залежностей (SOLID)
- Гнучкість конфігурації компонентів системи
Сфери застосування та практичне значення
Вбудований у ядро Spring Boot, NestJS, Angular, ASP.NET Core, Laravel.