模板方法模式
模板方法模式是指定义一个算法的⻣架,并允许子类为一个或者多个步骤提供实现。
使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为型设计模式。
采用模板方法模式的核心思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确定。此时可以使用模板方法。
示例
package com.lagou.edu;
/**
* 面试大厂流程类
*/
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岗位面试者:
package com.lagou.edu;
/**
* 面试人员1,它是来面试Java工程师的
*/
public class Interviewee1 extends Interview{
public void communicate() {
System.out.println("我是面试人员1,来面试Java工程师,我们聊的是Java相关内容");
}
}
前端岗位面试者:
package com.lagou.edu;
/**
* 面试人员2,它是来面试前端工程师的
*/
public class Interviewee2 extends Interview{
public void communicate() {
System.out.println("我是面试人员2,来面试前端工程师,我们聊的是前端相关内容");
}
}
客户端测试类:
package com.lagou.edu;
public class InterviewTest {
public static void main(String[] args) {
// 面试Java工程师
Interview interviewee1 = new Interviewee1();
interviewee1.process();
// 面试前端工程师
Interview interviewee2 = new Interviewee2();
interviewee2.process();
}
}
打印结果:
文章内容输出来源:拉勾教育Java高薪训练营