Sobes.tech
Junior — Middle

Selgitage Singleton mustri kontseptsiooni ja selle peamisi omadusi.

sobes.tech AI

Vastus AI-lt

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

Singletoni peamised omadused:

  • Ainult üks eksemplar: klass kontrollib objekti loomist, et mitte luua rohkem kui üks.
  • Globaalne kättesaadavus: eksemplar on kättesaadav kõigist programmi osadest.
  • Viivitusega initsialiseerimine: objekt luuakse esimese pöördumise ajal (tihti).

Näide C#-s:

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

See muster on kasulik, kui on vaja keskset ressursside või seadistuste haldamist, näiteks logija või konfiguratsiooni jaoks.