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