Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

Моделът Singleton гарантира, че даден клас има само един екземпляр и предоставя глобална точка за достъп до този екземпляр.

Основни характеристики на 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;
        }
    }
}

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