Junior — Middle
Dagger ishlatilayotganda, qaysi holatlarda konstruktorlar uchun @Inject annotatsiyasidan foydalanish tavsiya etiladi?
sobes.tech AI
AIdan javob
Daggerda konstruktorlar uchun @Inject anotatsiyasini qoʻllash tavsiya etiladi, agar siz Daggerning bu sinfning nusxalarini avtomatik ravishda yaratib, ularning bogʻliqliklarini boshqarishini istasangiz.
@Inject ni konstruktorda ishlatish uchun holatlar:
- Sinf boshqa komponentlarga in'ektsiya qilinadigan bogʻliqlikdir.
- Konstruktor qoʻshimcha parametrlarni talab qilmaydi, ular Dagger orqali olinishi mumkin.
- Daggerning obyektlarni avtomatik ravishda yaratishini xohlaysiz, fabrikalar yoki modullarni qoʻlda yozmasdan.
Misol:
public class UserRepository {
private final ApiService apiService;
@Inject
public UserRepository(ApiService apiService) {
this.apiService = apiService;
}
}
Bu yerda Dagger UserRepository ni qanday yaratishni biladi va avtomatik ravishda ApiService ni taqdim etadi.