Memento
Architecture 🟡 MidDéfinition
Capture et externalise l'état interne d'un objet sans violer l'encapsulation, pour pouvoir le restaurer plus tard.
Analogie
La sauvegarde dans un jeu vidéo : tu captures l'état complet pour pouvoir y revenir si tu meurs.
Exemple de code
class Editor {
save() { return { content: this.content }; }
restore(memento) { this.content = memento.content; }
}
const history = [editor.save()];
Cas d'usage
Undo/redo dans un éditeur, snapshots d'état, point de restauration transactionnel.
Anti-pattern
Termes liés
En entretien
Explique-moi le pattern Memento.
Il capture et externalise l'état interne d'un objet sans violer son encapsulation, pour pouvoir le restaurer plus tard. On l'utilise pour l'undo/redo dans un éditeur, des snapshots d'état ou un point de restauration transactionnel.
Quel anti-pattern de mémoire faut-il éviter avec Memento ?
Stocker trop de mémentos en mémoire sans stratégie de nettoyage, ce qui fait exploser la consommation mémoire au fil du temps. Comme une sauvegarde de jeu vidéo, il faut limiter le nombre de points de restauration conservés.
Fiche mise à jour le 2026-09-27