Dependency Injection — передача зависимостей объекту извне вместо их скрытого создания внутри. Это отделяет бизнес-логику от конкретных реализаций и упрощает тестирование.
Что такое Dependency Injection и зачем он нужен?
Dependency Injection — передача зависимостей объекту извне вместо их скрытого создания внутри. Это отделяет бизнес-логику от конкретных реализаций и упрощает тестирование.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Dependency Injection — передача зависимостей объекту извне вместо их скрытого создания внутри. Это отделяет бизнес-логику от конкретных реализаций и упрощает тестирование.
Например, сервис заказа получает repository и payment gateway через конструктор. В рабочем окружении передаются реальные реализации, в тесте — подмены. DI-контейнер автоматизирует сборку графа, но не обязателен для самого подхода. Не стоит внедрять весь контейнер в каждый объект: это скрывает необходимые зависимости и превращается в service locator.