Bellman-Ford
¿Qué es el Patrón Template Method?
El Template Method es un patrón de diseño de comportamiento que define el esqueleto de un algoritmo en una clase base y permite que las subclases redefinan partes específicas del algoritmo sin cambiar su estructura general.
Código de Ejemplo en JavaScript
class DataProcessor {
process() {
this.loadData();
this.transformData();
this.displayData();
}
loadData() {
throw new Error("Método loadData() debe ser implementado");
}
transformData() {
throw new Error("Método transformData() debe ser implementado");
}
displayData() {
console.log("Mostrando datos...");
}
}
class JSONProcessor extends DataProcessor {
loadData() {
console.log("Cargando datos JSON...");
}
transformData() {
console.log("Transformando datos JSON...");
}
}
class CSVProcessor extends DataProcessor {
loadData() {
console.log("Cargando datos CSV...");
}
transformData() {
console.log("Transformando datos CSV...");
}
}
// Uso del Patrón Template Method
const jsonProcessor = new JSONProcessor();
jsonProcessor.process();
const csvProcessor = new CSVProcessor();
csvProcessor.process();
Casos de Uso
- Definir flujos de trabajo estándar con pasos específicos que pueden variar.
- Procesamiento de datos en múltiples formatos, como JSON, XML, o CSV.
- Implementar algoritmos con estructuras fijas pero con personalización en ciertos pasos.
Patrones Relacionados
- Strategy: Ofrece alternativas para un comportamiento completo, mientras que Template Method permite redefinir partes del algoritmo.
- Factory Method: Encapsula la creación de objetos dentro de métodos específicos.
- State: Cambia el comportamiento de un objeto en función de su estado.