Sobes.tech
Junior — Middle

Selgitage Singleton mustri kontseptsiooni ja selle kasutamist programmeerimises.

sobes.tech AI

Vastus AI-lt

Singleton muster tagab, et klassil on ainult üks eksemplar ning pakub sellele globaalse juurdepääsu punkti.

Seda kasutatakse siis, kui on vaja kontrollida juurdepääsu ressurssidele, näiteks andmebaasile, logerile või konfiguratsioonile.

Näide C#-s:

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

    // Privaatne konstruktor takistab eksemplaride loomist väljastpoolt
    private Singleton() { }

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

    public void DoSomething()
    {
        // Loogika
    }
}

See lähenemine tagab mitme niidi keskkonnas turvalisuse ning laisklaadimise eksemplari kohta.