Junior — Middle
86
In quali altri modi si può implementare l'iniezione delle dipendenze, oltre all'uso del costruttore?
Risposta dell'AI
sobes.tech AI
Кроме инъекции зависимостей через конструктор, можно использовать следующие способы:
-
Сеттеры (Setter Injection): зависимости передаются через методы установки (сеттеры). Позволяет менять зависимости после создания объекта.
-
Инъекция через поля (Field Injection): зависимости внедряются напрямую в поля класса, обычно с помощью аннотаций (например, @Autowired в Spring).
-
Инъекция через интерфейс (Interface Injection): класс реализует интерфейс, который содержит метод для передачи зависимости.
Пример Setter Injection на Java:
public class Service {
private Repository repository;
public void setRepository(Repository repository) {
this.repository = repository;
}
public void perform() {
repository.doSomething();
}
}
Каждый способ имеет свои плюсы и минусы, выбор зависит от требований к гибкости и тестируемости кода.