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), მაშინ ნიმუში დაუყოვნებლივ იქმნება კლასის ჩატვირთვისას, პირველ მიმართვამდე.