版权声明:转载请注明出处 https://blog.csdn.net/chenmingxu438521/article/details/89441591
一、背景
模板模式具体怎么使用,下面我会详细讲,如果有那个地方讲的不到位了,请大家多多指教,共同学习,我尽量以白话的形式进行展示,废话不多说了,下面开始。
二、spring中的使用
springJDBC是Java规范,各个数据库厂商自己去实现
1.加载驱动类DriverManager
2.建立连接
3.创建语句集(标准语句集合、预处理语句集)
4.执行语句集
5.结果集ResultSet 游标
三、场景分析
1.比如喝茶过程实际上是比较麻烦的,机器就产生了,饮料冲泡机。
1.1、烧开水
1.2、准备一个杯子,把原料放入到杯子中(放啥?)
1.3、用水冲泡
1.4、添加辅料(放啥?)
(固定的执行流程,就叫模板)
四、具体代码实例
1.定义模板
//冲饮料机器
public abstract class Bevegrage {
//不能被重写的,因为模板流程是不可变的,不能被重写
public final void create(){
//1.把水烧开
boilWater();
//2.把杯子准备好、原材料放到杯子中
pourInCup();
//3.用水冲泡
brew();
//4.添加辅料
addCoundiments();
}
protected abstract void addCoundiments();
private void brew() {
System.out.println("将开水放入杯中");
}
//只要有一个抽象方法的时,我们的类都得是抽象类
protected abstract void pourInCup();
public void boilWater() {
System.out.println("烧开水,烧到100度,可以起锅了");
}
}
2.冲coffee例子
public class Coffee extends Bevegrage {
//原料放入杯中
protected void addCoundiments() {
System.out.println("将咖啡倒入杯中");
}
//放辅料
protected void pourInCup() {
System.out.println("添加牛奶和糖");
}
}
3.冲tea例子
public class Tea extends Bevegrage {
//放原料
protected void addCoundiments() {
System.out.println("将茶叶放进去");
}
//放辅料
protected void pourInCup() {
System.out.println("放蜂蜜");
}
}
五、测试类
public class TestTemplate {
public static void main(String[] args) {
Coffee coffee = new Coffee();
coffee.create();
System.out.println("-------------华丽的分割线-------------");
Tea tea = new Tea();
tea.create();
}
}
六、结果
烧开水,烧到100度,可以起锅了
添加牛奶和糖
将开水放入杯中
将咖啡倒入杯中
-------------华丽的分割线-------------
烧开水,烧到100度,可以起锅了
放蜂蜜
将开水放入杯中
将茶叶放进去
七、结束
上面简单的举例子,就是对模板模式的分析。也希望读到这个博客的有缘人提供宝贵的意见。