Junior — Middle
83
Объясните концепцию паттерна Singleton и его использование в программировании.
Companies where asked
ФинГрад
Answer from AI
sobes.tech 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()
{
// Логика
}
}
Такой подход обеспечивает потокобезопасность и ленивую инициализацию экземпляра.