Junior — Middle
გთხოვთ, განმარტოთ Singleton-ის ნიმუშის კონცეფცია და მისი ძირითადი მახასიათებლები.
sobes.tech AI
პასუხი AI-სგან
სინგლტონი ნიმუში უზრუნველყოფს, რომ კლასი მხოლოდ ერთი ეგზემპლარით იყოს წარმოდგენილი და გლობალურ წვდომას უზრუნველყოფს ამ ეგზემპლარიზე.
სინგლტონის ძირითადი მახასიათებლები:
- მხოლოდ ერთი ეგზემპლარით: კლასი აკონტროლებს ობიექტის შექმნას, რათა არ იყოს მეტი.
- გლობალური ხელმისაწვდომობა: ეგზემპლარატი ხელმისაწვდომია პროგრამის ნებისმიერ ნაწილიდან.
- დაგვიანებული ინიციალიზაცია: ობიექტი იწარმოება პირველ მიმართვაზე (ხშირად).
C# მაგალითი:
public class Singleton
{
private static Singleton _instance;
private static readonly object _lock = new object();
private Singleton() { }
public static Singleton Instance
{
get
{
if (_instance == null)
{
lock (_lock)
{
if (_instance == null)
_instance = new Singleton();
}
}
return _instance;
}
}
}
ეს ნიმუში სასარგებლოა, როდესაც საჭიროა რესურსების ან კონფიგურაციების ცენტრალიზებული მართვა, მაგალითად, ლოგერის ან კონფიგურაციისთვის.