Junior — Middle
Dagger ning bog'lanishlar injektsiyasi doirasida Singleton annotatsiyasi bilan belgilangan Hof bog'liqligi qanday saqlanadi?
sobes.tech AI
AIdan javob
Daggerda, @Singleton anotasyonu, ob'ektning faqat bir marta yaratilishini va keyingi barcha bog'liqlik so'rovlarida qayta ishlatilishini kafolatlaydi.
Qanday ishlaydi:
- Dagger komponenti yaratilganda, u ichki keshida singleton nusxalarini saqlaydi.
- Birinchi marta @Singleton anotatsiyasi bilan bog'liq so'rovda, Dagger ob'ektni yaratadi va saqlaydi.
- Keyingi so'rovlar uchun, Dagger saqlangan nusxani qaytaradi, yangi yaratmaydi.
Muhim nuqta, singletonning doirasi komponent bilan cheklangan. Agar bir nechta komponentlar bo'lsa, har biri o'zining singleton nusxasiga ega bo'lishi mumkin.
Misol:
@Singleton
@Component
interface AppComponent {
MyService getMyService();
}
@Singleton
class MyService {
@Inject
MyService() {}
}
Bu yerda, MyService bir marta AppComponent darajasida yaratiladi va qayta ishlatiladi.