Template Method
Architecture 🟡 MidDéfinition
Définit le squelette d'un algorithme dans une méthode, en déléguant certaines étapes aux sous-classes. Structure sans rigidité.
Analogie
Une recette de cuisine : les étapes sont fixes (préparer, cuire, servir) mais chaque chef personnalise les détails.
Exemple de code
class Report {
generate() {
this.fetchData();
this.format();
this.export();
}
// sous-classes implementent fetchData, format, export
}
Cas d'usage
Pipelines de traitement, génération de rapports, tests avec setup/teardown.
Anti-pattern
Trop d'étapes abstraites rendant les sous-classes impossible a implémenter correctement.