Sobes.tech
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.