Sobes.tech
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;
        }
    }
}

ეს ნიმუში სასარგებლოა, როდესაც საჭიროა რესურსების ან კონფიგურაციების ცენტრალიზებული მართვა, მაგალითად, ლოგერის ან კონფიგურაციისთვის.