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.