Sobes.tech
Назад к вопросам
Junior — Middle
65

Можете объяснить концепцию внедрения зависимостей в Java и как она применяется?

Ответ от нейросети

sobes.tech AI

Внедрение зависимостей (Dependency Injection, DI) — это паттерн, который позволяет передавать объектам необходимые им зависимости извне, а не создавать их внутри. В Java это помогает сделать код более модульным, тестируемым и легко поддерживаемым.

Пример: вместо того, чтобы класс создавал внутри себя объект зависимости, он получает его через конструктор или сеттер.

public class Service {
    private Repository repository;

    // Внедрение зависимости через конструктор
    public Service(Repository repository) {
        this.repository = repository;
    }

    public void doWork() {
        repository.save();
    }
}

// При создании объекта Service мы передаем нужную реализацию Repository
Repository repo = new DatabaseRepository();
Service service = new Service(repo);

В Java часто используют фреймворки (например, Spring), которые автоматически управляют созданием и внедрением зависимостей, что упрощает разработку.