模板?法模式是指定义?个算法的?架,并允许?类为?个或者多个步骤提供实现。模板?法模式使得?类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于?为型设计模式。采?模板?法模式的核?思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确定。此时可以使?模板?法。
示例
/** * ?试??流程类 */ public abstract class Interview { private final void register() { System.out.println("?试登记"); } protected abstract void communicate(); private final void notifyResult() { System.out.println("HR?姐姐通知?试结果"); } protected final void process() { this.register(); this.communicate(); this.notifyResult(); } }
Java岗位?试者
/** * ?试?员1,它是来?试Java?程师的 */ public class Interviewee1 extends Interview{ public void communicate() { System.out.println("我是?试?员1,来?试Java?程师,我们聊的是Java相关内容"); } }
前端岗位?试者
/** * ?试?员2,它是来?试前端?程师的 */ public class Interviewee2 extends Interview{ public void communicate() { System.out.println("我是?试?员2,来?试前端?程师,我们聊的是前端相关内容"); } }
客户端测试类
public class InterviewTest { public static void main(String[] args) { // ?试Java?程师 Interview interviewee1 = new Interviewee1(); interviewee1.process(); // ?试前端?程师 Interview interviewee2 = new Interviewee2(); interviewee2.process(); } }
打印结果
原文:https://www.cnblogs.com/brook0366/p/13744743.html