模板方法模式-Template Method
在模板模式中, 处理的流程被定义在父类中, 而具体的处理则交给了子类.
类关系图很简单:
Template接口
这里定义了子类需要实现的方法(before run after), 和执行事务的流程(execute).
public interface Template {
void before();
void run();
void after();
default void execute() {
before();
run();
after();
}
}
TemplateImpl类
这是一个模板的实现类.
继承了父类, 实现了父类遗留下来的方法细节. 使用者通过调用execute方法即可按照父类指定的流程进行处理了.
public class TemplateImpl implements Template {
@Override
public void before() {
System.out.println("Before..");
}
@Override
public void run() {
System.out.println("run..");
}
@Override
public void after() {
System.out.println("after..");
}
}
Main
这里用于运行测试.
public class Main {
public static void main(String[] args) {
new TemplateImpl().execute();
/*-********或者可以这样*********-*/
new Template() {
@Override
public void before() {
System.out.println("运行之前..");
}
@Override
public void run() {
System.out.println("运行中..");
}
@Override
public void after() {
System.out.println("运行收尾..");
}
}.execute();
}
}