Plantilla Método es lo que quieres. Es uno de los más antiguos, simplemente una formalización de una forma de componer tus clases.
http://en.wikipedia.org/wiki/Template_method_pattern
o como en este ejemplo de código:
abstract class AbstractParent // this is the template class
{
// this is the template method that enforces an order of method execution
final void executeIt()
{
doBefore(); // << to be implemented by subclasses
doInTheMiddle() // also to be implemented by subclasses
doLast(); // << the one you want to make sure gets executed last
}
abstract void doBefore();
abstract void doInTheMiddle();
final void doLast(){ .... }
}
class SubA extends AbstractParent
{
void doBefore(){ ... does something ...}
void doInTheMiddle(){ ... does something ...}
}
class SubB extends SubA
{
void doBefore(){ ... does something different ...}
}
Pero parece que está pescando para la oportunidad de utilizar un patrón en lugar de utilizar un patrón para resolver un determinado tipo de problema. Eso solo lo llevará a malos hábitos de desarrollo de software.
No piense en patrones. Piense en cómo resolvería ese problema específico sin tener patrones.
Imagine que no había patrones codificados (que es como era antes). ¿Cómo lograrías lo que quieres hacer aquí (que es lo que hicieron las personas para resolver este tipo de problemas)? Cuando puedas hacer eso, entonces estarás en una posición mucho mejor para entender los patrones.
No los use como cortadores de galletas. Eso es lo último que quieres hacer.
¿Hay algún motivo específico por el que los métodos deban llamarse uno por uno? –