Sobes.tech
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();