Junior — Middle
Leg het principe van dependency injection in software uit en hoe het wordt gebruikt om de modulariteit van de code te verbeteren.
sobes.tech AI
Antwoord van AI
Внедрение зависимостей (Dependency Injection, DI) — это принцип проектирования, при котором объект получает свои зависимости (например, другие объекты или сервисы) извне, а не создаёт их самостоятельно. Это повышает модульность и тестируемость кода, так как компоненты становятся слабо связанными и легко заменяемыми.
В Node.js DI часто реализуется через передачу зависимостей в конструктор или функции, либо с помощью специальных библиотек (например, InversifyJS).
Пример простого внедрения зависимостей:
class Logger {
log(message) {
console.log(message);
}
}
class UserService {
constructor(logger) {
this.logger = logger; // зависимость передается извне
}
createUser(name) {
// логика создания пользователя
this.logger.log(`User ${name} created`);
}
}
const logger = new Logger();
const userService = new UserService(logger);
userService.createUser('Alice');
Такой подход позволяет легко заменить Logger на другой, например, для тестирования или изменения способа логирования.