Junior — Middle
93
Dans quels cas est-il préférable d'utiliser des setters pour définir des dépendances dans votre code ?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
Сеттеры для установки зависимостей (setter injection) лучше использовать, когда:
- Зависимость не является обязательной для корректной работы объекта, и её можно установить позже.
- Нужно иметь возможность менять зависимость в течение жизненного цикла объекта.
- Объект создаётся без всех зависимостей, и они добавляются после создания (например, при конфигурации).
Пример: если у вас есть класс, который может работать с разными реализациями логгера, и вы хотите иметь возможность менять логгер без пересоздания объекта, то сеттеры подходят лучше, чем конструктор.
public class Service {
private Logger logger;
public void setLogger(Logger logger) {
this.logger = logger;
}
public void doWork() {
if (logger != null) {
logger.log("Work started");
}
// ...
}
}