> Что такое Singleton и каково его назначение (Python)

Уровень: junior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: MTS, Sunlight

Стек: Python

> Пример ответа

Singleton - это порождающий паттерн проектирования, который гарантирует, что у класса существует только один экземпляр, и предоставляет глобальную точку доступа к нему. Его основное назначение - управление общими ресурсами, такими как подключение к базе данных, конфигурация приложения или логгер, где множественное создание объектов может привести к избыточному расходу памяти или конфликтам состояния.

В Python реализация Singleton часто выполняется через переопределение метода __new__ в классе или использование модуля (так как модули в Python по умолчанию являются синглтонами). Пример:

PYTHON
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance

Однако стоит помнить, что Singleton может усложнить тестирование и нарушить принцип единственной ответственности, поэтому его следует применять осознанно, только когда это действительно необходимо.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью