Um certo padrão de projeto (design pattern), em Engenharia de Software, consiste em definir o esqueleto de
um algoritmo em uma operação, delegando alguns de
seus passos a subclasses. Essas subclasses redefinem
esses passos sem alterar a estrutura do algoritmo.
Esse padrão de projeto é conhecido como