Sobes.tech
Junior — Middle

Asılılıqların tərs çevrilməsi prinsipi ilə tətbiqlərdə asılılıqların inyeksiyası metodları arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Asılılıqların Tərs Çevrilməsi Prinsipi (Dependency Inversion Principle, DIP) SOLID prinsiplərindən biridir və deyir ki:

  • Yuxarı səviyyəli modullar aşağı səviyyəli modullara bağlı olmamalıdır. Hər ikisi abstraksiyalara bağlı olmalıdır.
  • Abstraksiyalar detallardan asılı olmamalıdır. Detallar abstraksiyalara asılı olmalıdır.

Başqa sözlə, DIP komponentlər arasında sərt əlaqəni azaltmaq üçün abstraksiyalardan istifadə etməyə yönəlib (məsələn, interfeyslər).

Dependency Injection (DI) metodları DIP-ni praktiki şəkildə həyata keçirməyə imkan verən xüsusi texnikalardır. DI, asılılıqları (obyektlər, xidmətlər) sinif daxilində yaratmaq yerinə, xaricdən ötürmə üsuludur.

DI-nin nümunələri:

  • Konstruktor vasitəsilə enjeksiyon — asılılıqlar konstruktor vasitəsilə ötürülür.
  • Setter vasitəsilə enjeksiyon — asılılıqlar setterlər vasitəsilə ötürülür.
  • İnterfeys və ya sahələr vasitəsilə enjeksiyon (məsələn, framework-lərdən istifadə etməklə).

Beləliklə, DIP dizayn prinsipidir, və DI onun kodda həyata keçirilməsidir.