模板模式的精髓在于“钩子方法”,父类中定义好调用结构,但是实现往往是在子类中,前前后后接触的开源框架,比比皆是模板模式,在此,特地以实例代码的形式,展现给朋友们,望深度认知此模式,也能够应用于实际工作中。
场景:去任何一家银行都有相同的处理流程,即取号、办业务、评分(柜台旁边有个设备)
package top.xq.pattern.template;
/**
* 类名称 BankTemplateMethod
* 说明 银行模板模式,定义整个银行处理流程的骨架,具体实现是在子类中实现
*
* @Author ts0002
* 日期 2019/10/25 10:13
*/
public abstract class BankTemplateMethod {
/**
* 取号
* @return
*/
private String takeNumber() {
System.out.println("取号为002");
return "002";
}
/**
* 用身份证办业务
* @param idCard
* @param queueNumber 拿着排队号
*/
abstract void doBusiness(String idCard, String queueNumber);
private void evalute(int star) {
System.out.println("评了" + star + "星");
}
void bankProce