Sobes.tech
Junior — Middle

Qu'est-ce que le modèle Singleton et quels sont ses avantages et inconvénients à prendre en compte?

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.

Avantages :

  • Contrôle sur la création du seul objet.
  • Commodité d'accès aux ressources ou configurations communes.

Inconvénients :

  • Peut entraîner des problèmes lors des tests en raison de l'état global.
  • Violent les principes d'inversion des dépendances et peuvent compliquer la maintenance.
  • En environnement multithread, nécessite une synchronisation supplémentaire.

Exemple en Swift pour iOS :

class Singleton {
    static let shared = Singleton()
    private init() { }

    func doSomething() {
        print("Exécution d'une action")
    }
}

// Utilisation
Singleton.shared.doSomething()