Sobes.tech
Junior — Middle

Magyarázza el a Singleton mintázat fogalmát és annak használatát a programozásban.

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.

Olyankor használják, amikor szükség van erőforrások, például adatbázis, naplózó vagy konfiguráció hozzáférésének ellenőrzésére.

C# példával:

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

    // Privát konstruktor megakadályozza az példányok külső létrehozását
    private Singleton() { }

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

    public void DoSomething()
    {
        // Logika
    }
}

Ez a megközelítés biztosítja a szálbiztonságot és a példány késleltetett inicializálását.