Зачем нужен Singleton

Python Middle Без компании
Зачем нужен Singleton
Ответы
Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему. **Зачем:** - Контроль доступа к общему ресурсу (например, конфигурации, логгеру, соединению с БД). - Избежание дублирования инициализации (экономия памяти). - Глобальный доступ к экземпляру без передачи его явно между компонентами. **Пример:** ``` class Singleton: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance # Использование obj1 = Singleton() obj2 = Singleton() print(obj1 is obj2) # True (один и тот же объект) ``` **Осторожно:** - Может усложнить тестирование из-за глобального состояния. - В Python чаще используют модули (они и так синглтоны) или зависимости через DI.