Встречается на собеседованиях • сегодня
Почему Singleton считают антипаттерном
Singleton часто называют антипаттерном из-за нескольких ключевых проблем:
- Глобальное состояние – Singleton создаёт глобально доступный объект, что усложняет тестирование и делает код зависимым от скрытого состояния.
- Нарушение SRP – Часто берёт на себя слишком много обязанностей, превращаясь в "божественный объект".
- Проблемы с многопоточностью – Требует дополнительных механизмов синхронизации в многопоточной среде.
- Наследование и полиморфизм – Усложняет использование наследования и подмену реализации.
Пример плохого Singleton в Python:
python
class Database:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instanceЛучшие альтернативы: Dependency Injection, фабрики или модули (в Python модули уже являются синглтонами по своей природе).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы