Sobes.tech
Junior — Middle

რა არის სინგლტონის ანოტაციის ძირითადი ფუნქცია და რა არის მისი გამოყენება?

sobes.tech AI

პასუხი AI-სგან

Android-ში @Singleton ანოტაცია (მაგალითად, Dagger-ის გამოყენებით დამოკიდებულებების ინექციის დროს) მიუთითებს, რომ კლასი უნდა ჰქონდეს მხოლოდ ერთი ეგზემპლარი განსაზღვრულ კომპონენტში ან მთელი აპლიკაციის ფარგლებში.

მთავარი ფუნქციაა უზრუნველყოს, რომ მრავალჯერადი მოთხოვნების დროს, როდესაც დამოკიდებულება მიწოდება ხდება, იგივე ობიექტი დაბრუნდეს. ეს სასარგებლოა მდგომარეობის მართვის, რესურსების დაზოგვის და მონაცემთა კონსისტენციის უზრუნველსაყოფად.

მაგალითი Dagger-ის გამოყენებით:

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

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

აქ, MyRepository ერთჯერად იქმნება და ყველგან გამოიყენება საჭიროების შემთხვევაში.