Junior — Middle
Ինչպե՞ս կարող ենք ստեղծել դաս, որը երաշխավորում է միայն մեկ օրինակ գոյություն ունենալը և տրամադրում է գլոբալ մուտքի կետ:
sobes.tech AI
Պատասխան AI-ից
Для создания класса с гарантией единственного экземпляра (паттерн Singleton) в C# обычно используют приватный конструктор и статическое поле, хранящее единственный экземпляр. Глобальный доступ обеспечивается через статическое свойство или метод. Пример реализации:
public sealed class Singleton
{
private static readonly Singleton _instance = new Singleton();
// Приватный конструктор запрещает создание экземпляров извне
private Singleton() { }
public static Singleton Instance
{
get
{
return _instance;
}
}
}
Такой подход гарантирует, что экземпляр создается один раз при загрузке класса (ленивая инициализация не используется). Для ленивой инициализации можно использовать Lazy<T> или блокировку (lock).