Sobes.tech
Junior — Middle

Magyarázza el a Singleton mintázat működési elvét és fő célját.

sobes.tech MI

Válasz az MI-től

A Singleton minta garantálja, hogy egy osztálynak csak egy példánya legyen, és globális hozzáférési pontot biztosít ehhez a példányhoz.

Fő célja az objektum létrehozásának ellenőrzése, hogy elkerüljük a több példányt, például konfigurációkezelés, naplózás vagy erőforrás-hozzáférés esetén.

Példa a Singleton implementációjára C#-ban:

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

Itt a konstruktor privát, így kívülről nem lehet példányt létrehozni, és az hozzáférés az Instance statikus tulajdonságon keresztül történik, dupla ellenőrzéssel a szálbiztonság érdekében.