Template Methodパターンは、決まり切っている処理を繰り返し使用することができるパターンです。
package com.example.templateMethod;
public abstract class AbstractClass {
protected abstract void before();
protected abstract void process();
protected abstract void after();
public final void execule() {
before();
process();
after();
}
}
package com.example.templateMethod;
public class ConcreteClass extends AbstractClass {
public ConcreteClass() {
}
@Override
protected void before() {
}
@Override
protected void process() {
}
@Override
protected void after() {
}
}
package com.example.templateMethod;
public class Main {
public static void main(String[] args) {
AbstractClass process = new ConcreteClass();
process.execule();
}
}
このケースではbefore()→process()→after()の順に処理する、というのが決まっています。
あとは、このAbstractClassを実装する形でクラスを作成していけばよい、ということになります。