Sobes.tech
Junior — Middle

Ի՞նչ է հիմնական գործառույթը Singleton նշանի և ինչու է այն կիրառվում:

sobes.tech AI

Պատասխան AI-ից

Android-ում @Singleton նշումը (օրինակ, երբ օգտագործվում է Dagger՝ կախվածությունների ներմուծման համար) ցույց է տալիս, որ դասը պետք է ունենա միայն մեկ օրինակ որոշակի կոմպոնենտի կամ ամբողջ հավելվածի շրջանակում:

Հիմնական գործառույթը՝ ապահովել, որ բազմակի պահանջների դեպքում, երբ տրամադրվում է կախվածություն, նույն օբյեկտը վերադարձվի։ Սա օգտակար է վիճակի կառավարում, ռեսուրսների խնայողություն և տվյալների համահունչության ապահովման համար:

Օրինակ Dagger-ի հետ օգտագործման:

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

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

Այստեղ MyRepository-ը ստեղծվում է մեկ անգամ և օգտագործվում է կրկնակի՝ որտեղ անհրաժեշտ է։