模板模式,字面意思针对的是在应用开发中流程固定,具有固定模板的解决方法。
举例,在应用中流程分为before、onbusiness、end三个步骤,其中,before和end是固定不变的,而onBusiness根据具体的用户不同而不同。这个时候,就应用模板模式。代码如下:
模板的代码为:
package com.designpattern.template;
abstract public class Template{
public void template(){
before();
onBusiness();
end();
}
public void before(){
System.out.println("before");
}
abstract public void onBusiness();
public void end(){
System.out.println("end");
}
}
其他的需要这个模板的可以继承这个模板类,并添加具体的onBussiness方法。代码如下:
package com.designpattern.template;
public class ActualExecutor extends Template{
@Override
public void onBusiness(){
System.out.println("on business.");
}
}
这样,ActualExecutor类继承了Template类中的before和end方法。
测试代码如下:
package com.designpattern.template;
import org.junit.Test;
public class TemplateTest{
@Test
public void testTemplate(){
ActualExecutor actualExecutor = new ActualExecutor();
actualExecutor.template();
}
}
结果为:
before
on business.
end
Process finished with exit code 0
简单实现了模板模式。