Что знаешь про Singleton?

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

Короткий ответ

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

Длинный ответ

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

 

Пример реализации Singleton:

class Singleton:
    _instance = None

    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

# Проверка
a = Singleton()
b = Singleton()
print(a is b)  # True, оба объекта ссылаются на один и тот же экземпляр

Существует несколько способов реализации Singleton в Python, включая использование метаклассов, декораторов или атрибутов класса.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Python

Ключевые слова

Подпишись на Python Developer в телеграм