Utiliser le design pattern « Mémento »

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
95
Mois de parution
mars 2018
Spécialité(s)


Résumé
L'objectif : Mettre en place le patron de conception « Mémento » qui permet à un objet de restaurer son état précédent (les valeurs de ses attributs), sans violer le principe de l'encapsulation. Nous sauvegarderons ici l'historique d'un attribut value.

La solution

01: import pickle
02: 
03: 
04: class Originator:
05:     def restore(self, memento):
06:         previous_state = pickle.loads(memento)
07:         vars(self).clear()
08:         vars(self).update(previous_state)
09: 
10:     def save(self):
11:         return pickle.dumps(vars(self))…

La suite est réservée aux abonnés. Il vous reste 90% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant