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

Зачем нужен DI

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

Пример без DI:

java
class UserService {
    private UserRepository repo = new UserRepository();
}

Пример с DI (через конструктор):

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

Преимущества:

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

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

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

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

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

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