Назад к вопросам
СБЕР Центр ИИ
Junior — Middle
70
Объясните концепцию паттерна Singleton и его применение в разработке программного обеспечения.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
Применение Singleton полезно, когда нужно контролировать доступ к какому-то ресурсу, например, к настройкам приложения, логгеру или пулу соединений.
Пример реализации 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
Таким образом, независимо от количества созданных объектов, будет использоваться один и тот же экземпляр класса.