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

Cet article est réservé aux abonnés. Il vous reste 90% à découvrir.
S'abonner à Connect
  • 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
Je m'abonne


Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous