Back to questions
Junior — Middle
92
Объясните концепцию паттерна Singleton и его основные особенности.
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;
}
}
}
Этот паттерн полезен, когда нужно централизованно управлять ресурсами или настройками, например, для логгера или конфигурации.