Sobes.tech
Junior — Middle

Jaki jest główny cel wzorca Singleton i w jakich przypadkach się go stosuje?

sobes.tech AI

Odpowiedź od AI

Wzorzec Singleton zapewnia, że klasa ma tylko jedną instancję i udostępnia globalny punkt dostępu do tej instancji. Jest to przydatne, gdy konieczne jest kontrolowanie dostępu do zasobu, takiego jak baza danych, ustawienia aplikacji lub logger.

Zastosowanie Singletona, gdy:

  • Należy ograniczyć tworzenie obiektów do jednej instancji.
  • Wymagana jest scentralizowana kontrola stanu lub zasobów.
  • Konieczne jest zapewnienie globalnego dostępu do obiektu bez przekazywania go jako parametr.

Przykład w PHP:

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

    private function __construct() {
        // prywatny konstruktor
    }

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

// Użycie
$instance = Singleton::getInstance();