Расскажите о принципе Dependency Injection (внедрение зависимостей) в Java. Приведите пример кода, демонстрирующий использование Dependency Injection, и объясните, как его.
Объяснение:
Dependency Injection (внедрение зависимостей) — это паттерн проектирования, который заключается в том, что объект получает все свои зависимости извне, а не создает их сам. Это делает классы более независимыми, повышает их переиспользуемость и упрощает тестирование.
1. Интерфейс
Engine: Определяет контракт для всех типов двигателей.2. Реализация
GasolineEngine: Конкретная реализация интерфейса Engine.3. Класс
Car: Класс автомобиля, зависящий от интерфейса Engine. Зависимость внедряется через конструктор. Мы можем легко заменить GasolineEngine другой реализацией Engine без изменения кода класса Car.
