Sobes.tech
Junior — Middle

Објасните принцип убризгавања зависности у софтверу и како се користи за повећање модуларности кода.

sobes.tech АИ

Одговор од АИ

Уметање зависности (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(`Корисник ${name} креиран`);
  }
}

const logger = new Logger();
const userService = new UserService(logger);
userService.createUser('Alice');

Овај приступ омогућава лаку замену Logger-а другим, на пример, за тестирање или промену начина логовања.