Встречается на собеседованиях • сегодня

Что такое инверсия зависимостей Dependency injection

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

Пример без DI:

java
class UserService {
    private UserRepository repository = new UserRepository();
    // ...
}

Пример с DI:

java
class UserService {
    private UserRepository repository;
    
    public UserService(UserRepository repository) {
        this.repository = repository;
    }
    // ...
}

Основные преимущества:

  • Упрощает тестирование (можно передавать mock-объекты)
  • Уменьшает связанность между компонентами
  • Позволяет легко менять реализацию зависимостей

DI часто реализуется через фреймворки (Spring, Guice), но может применяться и вручную.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы