Especifica el esqueleto de un algoritmo, permitiendo a las subclases definir cómo implementan el comportamiento real.