Sobes.tech
Back to questions
Junior — Middle
59

Какова основная цель использования паттерна Singleton и в каких ситуациях он применим?

Answer from AI

sobes.tech AI

Паттерн 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