Sobes.tech
Назад к вопросам
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

Таким образом, независимо от количества созданных объектов, будет использоваться один и тот же экземпляр класса.