Singleton в программировании — порождающий шаблон проектирования.
Цель
Гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа. Существенно то, что можно пользоваться именно экземпляром класса, так как при этом во многих случаях становится доступной более широкая функциональность. Например, к описанным компонентам класса можно обращаться через интерфейс, если такая возможность поддерживается языком.
Плюсы
контролируемый доступ к единственному экземпляру;
уменьшение числа имён;
допускает уточнение операций и представления;
допускает переменное число экземпляров;
бо?льшая гибкость, чем у операций класса.
Минусы
Глобальные объекты могут быть вредны для объектного программирования, в некоторых случаях приводя к созданию немасштабируемого проекта.
Усложняет написание модульных тестов и следованию TDD
Применение
должен быть ровно один экземпляр некоторого класса, легко доступный всем клиентам;
единственный экземпляр должен расширяться путем порождения подклассов, и клиентам нужно иметь возможность работать с расширенным экземпляром без модификации своего кода.
Безусловно нужны.
Предмет вопроса заданный в (0) к синглтонам отношения не имеет никакого.
Пример синглтонов в 1С это объекты-менеджеры, объекты метаданных и т.п.
Да
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший