Sobes.tech
Junior — Middle

როდის ხდება Singleton-შაბლონის ნიმუშის შექმნა?

sobes.tech AI

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

Singleton ნიმუშის შექმნა ხდება ამ ნიმუშის პირველ მიმართვაზე, თუ იყენებთ მელანო (lazy) ინიციალიზაციის მეთოდს.

მაშინ, ობიექტი შეიქმნება პირველი გამოძახებისას მეთოდის, რომელიც აბრუნებს Singleton-ის ნიმუშს, მაგალითად, getInstance(). ეს საშუალებას აძლევს ობიექტის შექმნა გადადოს საჭიროებისამებრ, რესურსების დაზოგვით.

Android/Java-ში მელანო ინიციალიზაციის მაგალითი:

public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // პირადი კონსტრუქტორი
    }

    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

თუ გამოიყენება კლასის ჩატვირთვის დროს ინიციალიზაცია (eager initialization), მაშინ ნიმუში დაუყოვნებლივ იქმნება კლასის ჩატვირთვისას, პირველ მიმართვამდე.