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-а другим, на пример, за тестирање или промену начина логовања.