Patrón Memento — Ejemplo Práctico

PUBLICADO: 2026-08-17
AUTOR: MANUEL PRIETO
Patrones de Diseño

El patrón Memento permite capturar y restaurar un estado completo sin exponer su estructura interna.

1. El Problema de Partida

scripts/migrate-posts.js reescribe varios _category.json a la vez al reorganizar categorías (ej. dividir design-patterns en subcarpetas). Si la migración falla a mitad de camino, no hay forma de volver al estado exacto de los JSON antes de empezar, más allá de confiar en git checkout manual.

2. La Solución Memento

3. Uso

4. Ventajas

  • El script de migración no conoce el formato interno del snapshot, solo llama a save() y restore().
  • Rollback exacto: restaura byte a byte el contenido original, sin depender de comandos git externos.
  • Reutilizable para cualquier operación destructiva sobre archivos de configuración del proyecto.