Back to questions
Junior — Middle
68
Объясните принцип работы паттерна Singleton и в чем его основное назначение.
Companies where asked
ТОП КЕЙС
Answer from AI
sobes.tech 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;
}
}
}
Здесь конструктор приватный, чтобы нельзя было создать объект извне, а доступ к экземпляру идет через статическое свойство Instance с двойной проверкой блокировки для потокобезопасности.