Junior — Middle
Qual è l'obiettivo principale del pattern Singleton e in quali casi viene applicato?
sobes.tech AI
Risposta dell'AI
Il pattern Singleton garantisce che una classe abbia una sola istanza e fornisce un punto di accesso globale a questa istanza. È utile quando si deve controllare l'accesso a una risorsa, come un database, le impostazioni dell'applicazione o un logger.
Si applica il Singleton quando:
- È necessario limitare la creazione di oggetti a una singola istanza.
- È richiesta un controllo centralizzato dello stato o delle risorse.
- È necessario garantire l'accesso globale all'oggetto senza passarne i parametri.
Esempio in PHP:
class Singleton {
private static ?Singleton $instance = null;
private function __construct() {
// costruttore privato
}
public static function getInstance(): Singleton {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
// Uso
$instance = Singleton::getInstance();