Junior — Middle
93
In welke gevallen is het zinvol om een constructor te gebruiken voor het doorgeven van afhankelijkheden aan een klasse?
Bedrijven waar gevraagd werd
Antwoord van AI
sobes.tech AI
Использование конструктора для передачи зависимостей (constructor injection) целесообразно, когда:
- Зависимости обязательны для корректной работы класса и должны быть инициализированы сразу при создании объекта.
- Нужно обеспечить неизменяемость зависимостей после создания объекта.
- Требуется явная декларация зависимостей класса, что улучшает читаемость и тестируемость кода.
Например, если класс зависит от сервиса для работы с данными, то через конструктор можно передать этот сервис, что позволит легко подменять его на мок-объекты в тестах.
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public User getUserById(String id) {
return userRepository.findById(id);
}
}
Таким образом, конструктор гарантирует, что UserService всегда будет иметь необходимую зависимость UserRepository.