Sobes.tech
Junior — Middle

Qual è lo scopo del pattern Singleton nell'architettura del software?

sobes.tech AI

Risposta dell'AI

Il pattern Singleton è progettato per garantire che esista solo un'istanza di una classe nell'applicazione. Questo è utile quando si desidera gestire centralmente l'accesso a una risorsa, come un database o una configurazione.

Caratteristiche principali del Singleton:

  • Garantisce una singola istanza della classe.
  • Fornisce un punto di accesso globale a questa istanza.

Esempio in PHP:

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

    private function __construct() {
        // costruttore privato che impedisce la creazione di istanze dall'esterno
    }

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

    public function doSomething() {
        echo "Esecuzione di un'azione";
    }
}

// Utilizzo
$singleton = Singleton::getInstance();
$singleton->doSomething();

In questo modo, il Singleton aiuta a controllare la creazione degli oggetti ed evita la duplicazione delle risorse.