设计模式篇——模板方法模式
一、应用场景
1.1 生活场景
1.1.1 把大象放进冰箱需要几步?打开冰箱门 -> 放入大象 -> 关闭冰箱门
1.1.2 填写入职登记表 -> 打印简历 -> 复印学历 -> 复印身份证 -> 签订劳动合同 -> 建立花名册 -> 办理工牌 -> 安排工位
1.2 代码场景
1.2.1 数据库怎么连接?创建连接 -> 拼接sql -> 创建PreparedStatement对象 -> 设置参数 -> 发送sql -> 返回结果
1.2.2 复杂的业务调用流程怎么统一?
二、介绍
定义:
定义一个操作的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤
举个栗子:
public class Main {
public static void main(String[] args) {
AbstractTemplate abstractTemplate=new CustomTemplate();
abstractTemplate.start();
}
}
abstract class AbstractTemplate {
public void start() {
verify();
work();
}
protected abstract void verify();
protected abstract void work();
}
class CustomTemplate extends AbstractTemplate {
@Override
protected void verify() {
System.out.println("开始校验...");
}
@Override
protected void work() {
System.out.println("开始流程处理...");
}
}
已经应用的场景:
HttpServlet
JdbcTemplate
RedisTemplate
RestTemplate
|