Я читал о Singleton шаблон проектирования, когда я наткнулся на эту реализацию:Singleton: создать экземпляр внутри статического конструктора
public class Singleton
{
private static Singleton Instance { get; private set; }
private Singleton()
{
}
static Singleton()
{
Instance = new Singleton();
}
}
Является ли это синглтон поточно? Каковы плюсы и минусы такой реализации?
Для обсуждения плюсы/минусы (которые в основном не по теме на переполнение стека), смотри, например, http://csharpindepth.com/Articles/General/Singleton.aspx –
Я видел эту статью, но приведенный выше пример не упоминался. – Mhd
Ваш пример функционально идентичен просто инициализации поля поддержки непосредственно, например. 'static Singleton Instance {get; } = new Singleton(); ', вариант, обсуждаемый в статье. Конечно, код, который вы опубликовали, бесполезен, поскольку свойство 'Instance' является' private' и поэтому может быть вызвано только самим классом 'Singleton' (который не имеет ограничений на количество экземпляров' Singleton', которые он может создать ... синглтоны - действительно только полезные конструкции для внешнего кода). –