Junior — Middle
97
Erklären Sie das Konzept der Dependency Injection im Kontext der SOLID-Prinzipien.
Unternehmen wurden gefragt
Antwort von AI
sobes.tech KI
Внедрение зависимостей (Dependency Injection, DI) — это принцип, при котором объект получает свои зависимости извне, а не создает их самостоятельно. Это помогает соблюдать принцип единственной ответственности (Single Responsibility Principle) из SOLID, так как класс не отвечает за создание зависимостей.
Также DI способствует принципу инверсии зависимостей (Dependency Inversion Principle), так как классы зависят от абстракций, а не от конкретных реализаций.
Пример: вместо того, чтобы внутри класса создавать объект сервиса, мы передаем его через конструктор или сеттер.
public interface Service {
void execute();
}
public class ServiceImpl implements Service {
public void execute() {
System.out.println("Выполнение сервиса");
}
}
public class Client {
private Service service;
// Внедрение зависимости через конструктор
public Client(Service service) {
this.service = service;
}
public void doWork() {
service.execute();
}
}
// Использование
Service service = new ServiceImpl();
Client client = new Client(service);
client.doWork();
Таким образом, DI улучшает модульность, тестируемость и гибкость кода.