模板方法设计模式

模板方法设计模式

​ 当功能内部一部分实现是确定的一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现 。

​ 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了。但是某些部分易变,易变部分可以抽象出来,供不同子类实现。这就是一种模板模式。

创建

abstract class Template{
    public final void getTime(){
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        System.out.println("执行时间是:" + (end - start));
    }
    public abstract void code();
}

class SubTemplate extends Temlate{
    public void code(){
        for(int i = 0; i < 10000; i++){
		System.out.println(i);
        }
    }
}

应用场景

  • 数据库访问的封装
  • Junit 单元测试
  • JavaWeb 的 Servlet 中关于 doGet/doPost 方法调用
  • Hibernate 中模板程序
  • Spring 中 JDBCTemlate 、 HibernateTemplate 等
posted @ 2021-08-07 11:03  hugeBlair  阅读(55)  评论(0)    收藏  举报