Синглтон означает один глобальный экземпляр объекта в процессе. В Python его часто заменяют состоянием уровня модуля, поскольку модули импортируются только один раз.
Примеры одноэлементных объектов уровня языка:
- ⟦С0⟧;
True и False;
- ⟦С0⟧.
В коде приложения строгие реализации Singleton часто заменяются контейнерами или фабриками внедрения зависимостей для лучшей тестируемости.
Суммируя:
- В Python уже есть встроенные одноэлементные объекты.
- Объема модуля часто бывает достаточно и без отдельного шаблона.
- Чрезмерное использование Singleton усложняет тестирование.
Итог
Синглтон означает один глобальный экземпляр объекта в процессе.