¿Qué es el patrón Template Method?
Opciones
- Una clase que genera plantillas HTML para las vistas de una app
- Una clase base fija el esqueleto del algoritmo; las subclases sobrescriben pasos (Opción correcta)
- Un patrón para copiar objetos sin sus clases
- Una forma de guardar en caché los resultados de un método costoso
Respuesta
Una clase base define el esqueleto fijo de un algoritmo y deja que las subclases sobrescriban pasos concretos
Por qué
La superclase tiene un método con los pasos generales en un orden fijo (la plantilla), y algunos pasos son abstractos o sobrescribibles. Las subclases rellenan los detalles sin cambiar el orden.
Ejemplo: DataProcessor.process() siempre lee, valida, transforma y guarda; las subclases implementan transform().
JdbcTemplate y RestTemplate de Spring siguen una idea parecida: se ocupan del boilerplate (conexiones, errores) y tú aportas la parte variable.
Recuerda
Template Method = esqueleto fijo del algoritmo, pasos personalizables.