Sobes.tech
Back to questions
Junior
526

Что такое паттерн Singleton?

Answer from AI

sobes.tech AI

Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.

В C# это обычно реализуется через приватный конструктор и статическое свойство, которое создает и хранит единственный объект:

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

    // Приватный конструктор предотвращает создание экземпляров извне
    private Singleton() { }

    public static Singleton Instance
    {
        get { return _instance; }
    }

    public void SomeMethod()
    {
        // Логика метода
    }
}

Такой подход обеспечивает ленивую инициализацию и потокобезопасность (если использовать другие варианты реализации). Singleton полезен, когда нужен один общий ресурс, например, конфигурация или менеджер подключения.