Junior — Middle
Dagger yordamida bog'liqliklarni kiritishda SOLID ning qaysi prinsipiga taalluqlidir?
sobes.tech AI
AIdan javob
Daggerni foydalanish, SOLID ning Dependency Inversion Principle (D) prinsipiga tegishlidir.
Bu prinsip shuni ta'kidlaydi:
- Yuqori darajadagi modullar past darajadagi modullarga to'g'ridan-to'g'ri bog'liq bo'lmasligi kerak.
- Ikkala ham abstraktsiyalarga bog'liq bo'lishi kerak.
- Abstraktsiyalar detallarga bog'liq bo'lmasligi kerak, detallar abstraktsiyalarga bog'liq bo'lishi kerak.
Dagger bu prinsipni amalga oshirishga yordam beradi, u abstraktsiyalar (interfeyslar yoki abstrakt sinflar) orqali avtomatik bog'lanishni ta'minlovchi mexanizmni taqdim etadi, bu komponentlarning bog'liqligini kamaytiradi va kodning test qilinishini va moslashuvchanligini oshiradi.
Daggerdan foydalanish misoli:
@Component
interface AppComponent {
void inject(MyActivity activity);
}
class MyActivity {
@Inject
MyRepository repository;
void onCreate() {
DaggerAppComponent.create().inject(this);
repository.loadData();
}
}
Bu yerda, MyActivity to'g'ridan-to'g'ri MyRepository ni yaratmaydi, balki bog'liqliklarni in'ektsiya qilish orqali oladi, bu Dependency Inversion prinsipiga mos keladi.