Встречается на собеседованиях • сегодня

Зачем нужен Singleton

Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.

Зачем:

  • Контроль доступа к общему ресурсу (например, конфигурации, логгеру, соединению с БД).
  • Избежание дублирования инициализации (экономия памяти).
  • Глобальный доступ к экземпляру без передачи его явно между компонентами.

Пример:

python
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.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы