设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 模板方法模式(Template Method)
模板定义一个操作中的算法的骨架,具体算法由子类实现。
结果:不改变一个算法的结构,可重定义算法的某些特定步骤。
一、说明:
1、TemplateMethod 模板(抽象类);
2、Programmer 模板.实现类;
3、HR 模板.实现类。
二、Java实现,代码如下:
1、TemplateMethod
package com.java.designPattern.templateMethod;
/**
* 模板 - 抽象类
*
*/
public abstract class TemplateMethod {
public final void work() {
signIn();
detail();
signOut();
}
private final void signIn() {
System.out.println("check in");
}
/**
* 子类实现
*/
protected abstract void detail();
private final void signOut() {
System.out.println("check out");
}
}
2、Programmer
package com.java.designPattern.templateMethod;
/**
* 实现类
*
*/
public class Programmer extends TemplateMethod {
@Override
protected void detail() {
System.out.println("write code");
}
}
3、HR
package com.java.designPattern.templateMethod;
/**
* 实现类
*
*/
public class HR extends TemplateMethod {
@Override
protected void detail() {
System.out.println("select resumes");
}
}
4、Test
package com.java.designPattern.templateMethod;
/**
* 测试类
*
*/
public class Test {
public static void main(String[] args) {
Programmer programmer = new Programmer();
programmer.work();
System.out.println("分割线");
HR hr = new HR();
hr.work();
}
}
输出:
check in
write code
check out
分割线
check in
select resumes
check out