Sobes.tech
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 на другой, например, для тестирования или изменения способа логирования.