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();