模板方法模式-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(); } }