O padrão Template Method define o esqueleto de um algoritmo em uma classe base, permitindo que subclasses preencham etapas específicas sem alterar a estrutura geral. Ele captura um processo comum enquanto permite a customização de etapas individuais.
O que o padrão Template Method faz
TEMPLATE METHOD → define an algorithm's overall STRUCTURE in a base method, with some STEPS
left for subclasses to implement:
→ the base class controls the overall flow (the "template")
→ subclasses override specific STEPS (the parts that vary)
→ the algorithm's structure is FIXED; the steps are customizable
→ "common process, customizable steps"
