Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Pattern Singleton
Le Singleton est un design pattern qui garantit qu'une classe n'a qu'une seule instance dans tout le programme. C'est comme le president d'un pays : il n'y en a qu'un a la fois.
Ca sert pour les objets qui doivent etre uniques : la configuration de l'application, la connexion a la base de données, un cache global, etc.
L'idee est d'utiliser une méthode de classe (classmethod) qui vérifie si une instance existe deja. Si oui, elle la retourne. Sinon, elle en crée une.
class Unique: _instance = None
@classmethod def get_instance(cls): if cls._instance is None: cls._instance = cls() return cls._instance
Implemente le pattern Singleton pour une classe Config : - Config.get_instance() retourne toujours la meme instance - Config a un attribut valeurs = {} et des méthodes set(cle, valeur) et get(cle)
Exemple : c1 = Config.get_instance() c1.set('debug', True) c2 = Config.get_instance() c2.get('debug') # renvoie True (c'est le meme objet)
Tests (2/4)
Même instance
a = Config.get_instance()
b = Config.get_instance()
assert a is b