Junior — Middle
109
У којим случајевима је боље користити сетере за постављање зависности у вашем коду?
Компаније где су питане
Одговор од АИ
sobes.tech АИ
Сеттеры для установки зависимостей (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");
}
// ...
}
}