Patrón Template Method — Ejemplo Práctico

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

El patrón Template Method fija el esqueleto de un proceso, delegando pasos concretos a subclases.

1. El Problema de Partida

Existen validadores casi idénticos para content/knowledge/ y content/blog/: ambos leen el archivo, parsean frontmatter con gray-matter, y reportan errores — pero cada colección exige campos distintos (knowledge necesita translation_id y category; blog necesita tags). Copiar el "leer + parsear + reportar" en cada validador duplica lógica.

2. La Solución Template Method

3. Uso

4. Ventajas

  • Leer, parsear y reportar viven en un solo lugar (ContentValidator), nunca duplicados.
  • Añadir una colección nueva (projects) = una subclase con solo checkRequiredFields.
  • Consistencia garantizada: todos los validadores reportan errores con el mismo formato.