Sobes.tech
Junior — Middle

Kokia yra Singleton anotacijos pagrindinė funkcija ir kur ji taikoma?

sobes.tech AI

Atsakymas iš AI

Android'e @Singleton anotacija (pavyzdžiui, naudojant Dagger priklausomybių injekcijai) nurodo, kad klasė turėtų turėti vieną egzempliorių tam tikro komponento ar visos programos ribose.

Pagrindinė funkcija yra užtikrinti, kad kelių užklausų dėl priklausomybės teikimo metu būtų grąžinamas tas pats objektas. Tai naudinga būsenos valdymui, išteklių taupymui ir duomenų nuoseklumo užtikrinimui.

Pavyzdys su Dagger:

@Singleton
@Component(modules = AppModule.class)
public interface AppComponent {
    MyRepository getRepository();
}

@Singleton
public class MyRepository {
    // ...
}

Čia MyRepository bus sukurtas vieną kartą ir bus naudojamas pakartotinai visur, kur reikalinga.