Template Method
Architecture 🟡 MidDefinition
Definit le squelette d'un algorithme dans une methode, en deleguant certaines etapes aux sous-classes. Structure sans rigidite.
Analogie
Une recette de cuisine : les etapes sont fixes (preparer, cuire, servir) mais chaque chef personnalise les details.
Exemple de code
class Report {
generate() {
this.fetchData();
this.format();
this.export();
}
// sous-classes implementent fetchData, format, export
}
Cas d'usage
Pipelines de traitement, generation de rapports, tests avec setup/teardown.
Anti-pattern
Trop d'etapes abstraites rendant les sous-classes impossible a implementer correctement.