java20K之路:日常工作、常用框架使用很频繁的设计模式:模板模式(Template Method)

模板模式的精髓在于“钩子方法”,父类中定义好调用结构,但是实现往往是在子类中,前前后后接触的开源框架,比比皆是模板模式,在此,特地以实例代码的形式,展现给朋友们,望深度认知此模式,也能够应用于实际工作中。

场景:去任何一家银行都有相同的处理流程,即取号、办业务、评分(柜台旁边有个设备)

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 bankProcess(String idCard, int evaluteStar) {

        String queueNumber = takeNumber();

        doBusiness(idCard, queueNumber);

        evalute(evaluteStar);
    }


}
 
 

你可能感兴趣的:(Java20K之路)