Sobes.tech
Junior — Middle

Обяснете концепцията за патърна Singleton и неговото използване в програмирането.

sobes.tech AI

Отговор от AI

Моделът 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()
    {
        // Логика
    }
}

Този подход осигурява безопасност при многонитови среди и лениво инициализиране на екземпляра.