Sobes.tech
Junior — Middle

Singleton naqshining konseptini va uning dasturlashdagi qo'llanilishini tushuntiring.

sobes.tech AI

AIdan javob

Singleton naqshoni, sinfning faqat bitta nusxasi bo'lishini ta'minlaydi va bu nusxaga global kirish nuqtasini taqdim etadi.

Resurslarga, masalan, ma'lumotlar bazasi, loger yoki konfiguratsiya kabi, kirishni nazorat qilish zarur bo'lganda ishlatiladi.

C# misoli:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    // Maxfiy konstruktor tashqaridan nusxa olishni taqiqlaydi
    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                    {
                        _instance = new Singleton();
                    }
                }
            }
            return _instance;
        }
    }

    public void DoSomething()
    {
        // Mantiq
    }
}

Bu yondashuv, ko'p ipli muhitlarda xavfsizlikni ta'minlaydi va nusxani kechiktirilgan boshlash imkonini beradi.