Patrón Command — Ejemplo Práctico

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

El patrón Command convierte una acción en un objeto ejecutable y reversible.

1. El Problema de Partida

scripts/migrate-posts.js aplica varias operaciones sobre archivos .mdx (renombrar slug, mover de categoría, actualizar translation_id). Si una operación a mitad de la migración falla, no hay forma de deshacer las anteriores porque están escritas como funciones sueltas que mutan el filesystem directamente.

2. La Solución Command

3. Uso

4. Ventajas

  • Rollback automático: si falla el comando 2, el comando 1 se deshace solo.
  • Historial auditable: runner.history documenta exactamente qué se ejecutó y en qué orden.
  • Extensible: añadir MoveCategoryCommand o UpdateTranslationIdCommand no toca MigrationRunner.