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;
        }
    }

    public void DoSomething()
    {
        // ლოგიკა
    }
}

ეს მიდგომა უზრუნველყოფს მრავალთრედული გარემოს უსაფრთხოებას და ნელი ინიციალიზაციას.