OriginalGriff
Идея синглтона очень проста: это класс с частным конструктором, поэтому он не может быть инстанцирован формой вне класса. Это означает, что класс полностью контролирует, сколько экземпляров класса создается и когда они создаются. Одноэлементный класс создает единственный экземпляр самого себя, который он возвращает вызывающим классам, которые должны получить к нему доступ с помощью определенного метода для этой цели.
Лично я думаю о них как о прославленной глобальной переменной, которая как бы нарушает всю парадигму Упс, и не использую их - но я видел, как они хорошо используются для систем с одним ресурсом, где есть один аппаратный объект, который должен разумно использоваться несколькими классами и /или потоками.
В наши дни это вообще считается анафемой ...