Sobes.tech
Назад к вопросам
Junior — Middle
104

Какова основная цель паттерна Singleton и в каких случаях его применяют?

Компании, где спрашивали
ИНДИНС

Ответ от нейросети

sobes.tech AI

Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Это полезно, когда нужно контролировать доступ к какому-то ресурсу, например, к базе данных, настройкам приложения или логгеру.

Применяют Singleton, когда:

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

Пример на PHP:

class Singleton {
    private static ?Singleton $instance = null;

    private function __construct() {
        // приватный конструктор
    }

    public static function getInstance(): Singleton {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// Использование
$instance = Singleton::getInstance();