Middle
32
Puoi parlare del pattern Singleton?
Le aziende dove è stato chiesto
BP
Risposta dell'AI
sobes.tech AI
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
В Python Singleton можно реализовать несколькими способами. Один из простых — использовать модуль, так как модули в Python по сути синглтоны. Но если нужен класс, можно сделать так:
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super().__new__(cls)
return cls._instance
# Использование
s1 = Singleton()
s2 = Singleton()
print(s1 is s2) # True
Этот код гарантирует, что при создании нескольких объектов класса Singleton будет возвращён один и тот же экземпляр.