Паттерн Singleton гарантирует, что у класса может быть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
Применяется, когда:
Реализация в Python может быть на основе:
Метода __new__: Переопределяем __new__, чтобы он всегда возвращал один и тот же экземпляр.
python
Декоратора класса: Создаем функцию-декоратор, которая управляет созданием экземпляра.
python
Модуля: Python импортирует модули только один раз, что можно использовать для создания синглтона.
python
Затем импортируем from singleton_module import instance.
Преимущества:
Недостатки: