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()