Встречается на собеседованиях • сегодня
Как устроен паттерн Singleton
Singleton — это порождающий паттерн, гарантирующий, что у класса есть только один экземпляр, и предоставляющий глобальную точку доступа к нему.
Реализация в Python:
python
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instanceОсобенности:
__new__переопределяется для контроля создания экземпляра.- При первом вызове создаётся объект, при последующих — возвращается существующий.
- Потокобезопасность требует дополнительных мер (например, блокировок).
Использование:
python
a = Singleton()
b = Singleton()
print(a is b) # TrueПрименение:
- Логгеры, конфигурации, подключения к БД — где нужен единый глобальный доступ.
Минусы:
- Усложняет тестирование (глобальное состояние).
- Нарушает принцип единственной ответственности.

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