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).