Junior — Middle
Објасните концепт Singleton патерна и његове главне особине.
sobes.tech АИ
Одговор од АИ
Шаблонът 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;
}
}
}
Този модел е полезен, когато трябва централизирано да управлявате ресурси или настройки, например, за логер или конфигурация.