Sobes.tech
Junior — Middle

Quel est l'objectif principal du pattern Singleton et dans quels cas l'applique-t-on?

sobes.tech IA

Réponse de l'IA

Le patron Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à cette instance. Cela est utile lorsque vous devez contrôler l'accès à une ressource, comme une base de données, des paramètres d'application ou un journal.

On utilise Singleton lorsque :

  • Il faut limiter la création d'objets à une seule instance.
  • Un contrôle centralisé de l'état ou des ressources est nécessaire.
  • Il faut assurer un accès global à l'objet sans le passer en paramètre.

Exemple en PHP :

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

    private function __construct() {
        // constructeur privé
    }

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

// Utilisation
$instance = Singleton::getInstance();