Sobes.tech
Junior — Middle

Na czym polega cel wzorca Singleton w architekturze oprogramowania?

sobes.tech AI

Odpowiedź od AI

Wzorzec Singleton jest zaprojektowany tak, aby zapewnić, że w aplikacji istnieje tylko jedna instancja danej klasy. Jest to przydatne, gdy konieczne jest scentralizowane zarządzanie dostępem do zasobu, takiego jak baza danych czy konfiguracja.

Główne cechy Singleton:

  • Gwarantuje pojedynczą instancję klasy.
  • Zapewnia globalny punkt dostępu do tej instancji.

Przykład w PHP:

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

    private function __construct() {
        // prywatny konstruktor uniemożliwia tworzenie instancji z zewnątrz
    }

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

    public function doSomething() {
        echo "Wykonywanie akcji";
    }
}

// Użycie
$singleton = Singleton::getInstance();
$singleton->doSomething();

W ten sposób Singleton pomaga kontrolować tworzenie obiektów i zapobiega duplikacji zasobów.