Middle+
61
Porozprávaj mi o Singleton — čo to je a ako sa implementuje?
Spoločnosti boli požiadané
devar
Odpoveď od AI
sobes.tech AI
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
Таким образом, при создании нового объекта проверяется, существует ли уже экземпляр, и если да — возвращается он.