Sobes.tech
Junior — Middle

Каква е основната цел на патърна Singleton и в кои случаи се прилага?

sobes.tech AI

Отговор от 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();