设计模式之模板方法模式

模板⽅法模式是指定义⼀个算法的⻣架,并允许⼦类为⼀个或者多个步骤提供实现。模板⽅法模式使得⼦类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于⾏为型设计模式。采⽤模板⽅法模式的核⼼思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确定。此时可以使⽤模板⽅法。

示例

/**
* ⾯试⼤⼚流程类
*/
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();
    }
}

打印结果

 

 

posted on 2020-10-02 21:35  lvguoliang(学无止境)  阅读(120)  评论(0)    收藏  举报