Sobes.tech
Junior — Middle

Magyarázza el a Singleton mintázat fogalmát és fő jellemzőit.

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.

A Singleton fő jellemzői:

  • Csak egy példány: az osztály ellenőrzi az objektum létrehozását, hogy ne legyen több.
  • Globális elérhetőség: a példány bárhonnan elérhető a programban.
  • Késleltetett inicializálás: az objektum az első híváskor jön létre (gyakran).

Példa 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;
        }
    }
}

Ez a minta akkor hasznos, ha erőforrásokat vagy beállításokat központilag kell kezelni, például naplózót vagy konfigurációt.