Sobes.tech
Junior — Middle

Dasturiy ta'minotda bog'liqliklarni injektsiya qilish printsipi va uning kodning modulliqligini oshirish uchun qanday ishlatilishini tushuntiring.

sobes.tech AI

AIdan javob

Bog'liq bo'ysunuvlarni injektsiyasi (Dependency Injection, DI) — bu dizayn tamoyili bo'lib, unda ob'ekt o'z bog'liqliklarini (masalan, boshqa ob'ektlar yoki xizmatlar) tashqaridan oladi, o'z-o'zidan yaratmaydi. Bu kodning modulli va test qilish imkoniyatini oshiradi, chunki komponentlar zaif bog'langan va oson almashtiriladigan bo'ladi.

Node.jsda DI odatda konstruktor yoki funksiyalarga bog'liqliklarni o'tkazish yoki maxsus kutubxonalar (masalan, InversifyJS) yordamida amalga oshiriladi.

Oddiy bog'liqliklarni injektsiya qilish misoli:

class Logger {
  log(message) {
    console.log(message);
  }
}

class UserService {
  constructor(logger) {
    this.logger = logger; // tashqaridan o'tkazilgan bog'liqlik
  }

  createUser(name) {
    // foydalanuvchini yaratish logikasi
    this.logger.log(`Foydalanuvchi ${name} yaratildi`);
  }
}

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

Bu yondashuv Logger'ni test qilish yoki loglash usulini o'zgartirish uchun osonlik bilan almashtirish imkonini beradi.