Junior
Qu'est-ce qu'un singleton?
sobes.tech IA
Réponse de l'IA
Singleton est un patron de conception créatif qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à celle-ci.
Avantages :
- Contrôle sur la seule instance.
- Point d'accès global.
- Initialisation paresseuse (si implémentée).
Inconvénients :
- Violates le principe de responsabilité unique.
- Rendre les tests difficiles.
- Peut causer des problèmes dans un environnement multithread sans synchronisation.
Implémentation typique en Swift :
class Singleton {
// Constante statique pour stocker la seule instance
static let shared = Singleton()
// Constructeur privé pour empêcher la création d'autres instances
private init() {
// Configuration supplémentaire si nécessaire
print("Instance Singleton créée")
}
// Exemple de méthode singleton
func doSomething() {
print("Singleton fait quelque chose")
}
}
Utilisation :
// Accès à l'unique instance via la propriété statique
let instance = Singleton.shared
instance.doSomething()
// Tenter de créer une autre instance provoquera une erreur de compilation
// let anotherInstance = Singleton() // Erreur!