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;
    }

    public function doSomething() {
        echo "Изпълнение на действие";
    }
}

// Използване
$singleton = Singleton::getInstance();
$singleton->doSomething();

По този начин Singleton помага да се контролира създаването на обекти и да се предотврати дублиране на ресурси.