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

Что такое dependency injection

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

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

java
public class UserService {
    private final UserRepository userRepository;
text
// Внедрение зависимости через конструктор
public UserService(UserRepository userRepository) {
    this.userRepository = userRepository;
}

public void saveUser(User user) {
    userRepository.save(user);
}

}

text

**Без DI (антипаттерн):**
```java
public class UserService {
    private final UserRepository userRepository = new UserRepositoryImpl(); // Жёсткая зависимость

    public void saveUser(User user) {
        userRepository.save(user);
    }
}

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

  • Упрощает тестирование (можно подменить зависимости на моки).
  • Уменьшает связанность кода.
  • Позволяет легко менять реализацию зависимостей.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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