Sobes.tech
Junior — Middle

Paaiškinkite Singleton modelio koncepciją ir jo naudojimą programavime.

sobes.tech AI

Atsakymas iš AI

Singleton šablonas užtikrina, kad klasė turės tik vieną egzempliorių ir suteikia globalų prieigos tašką prie šio egzemplioriaus.

Jis naudojamas, kai reikia kontroliuoti prieigą prie išteklių, pavyzdžiui, duomenų bazės, žurnalo ar konfigūracijos.

Pavyzdys C# kalba:

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

    // Privatūs konstruktorius neleidžia kurti egzempliorių iš išorės
    private Singleton() { }

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

    public void DoSomething()
    {
        // Logika
    }
}

Šis požiūris užtikrina saugumą daugiagijose aplinkose ir vėlyvą egzemplioriaus inicializaciją.