Sobes.tech
Junior — Middle

Објасните концепт Singleton патерна и његову употребу у програмирању.

sobes.tech АИ

Одговор од АИ

Модел Singleton гарантује да класа има само један пример и пружа глобалну тачку приступа том примеру.

Користи се када је потребно контролисати приступ ресурсима, као што су база података, логер или конфигурација.

Пример у C#:

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

    public void DoSomething()
    {
        // Логика
    }
}

Овај приступ обезбеђује безбедност у мултитхред окружењима и лениво иницијализовање примера.