Java设计模式之模板方法模式(Template)
前言: 我们在开发中有很多固定的流程,这些流程有很多步凑是固定的,比如JDBC中获取连接,关闭连接这些流程是固定不变的,变动的只有设置参数,解析结果集这些是根据不同的实体对象“来做调整”,针对这种拥有固定算法流程,其中有固定的步凑,存在不固定的步凑的情况下就诞生了模板方法模式。 模板方法模式(Template)定义: 模板方法模式又叫模板模式,指的是父类定义了一个多步凑的算法骨架,其中很多步凑是在父类中实现了的,有的步凑是根据不同的子类拥有不同的实现,就把这些“不确定”的实现步凑定义为抽象方法交给子类去实现。模板模式的核心就是在使子类不改变算法结构的情况下,重新定义算法的某些步凑。属于行为型设计模式。应用很广发,比如Mybatis中的BaseExecutor;Spring中的JdbcTemplate;Spring集成Hibernate中的HibernateTemplate,Spring集成各种Mq的Template,还有MongodbTemplate等...... 模式中的角色: 抽象类(AbstractClass): 实现了模板方法,定义了算法的骨架。 具体类 (Concrete) :实现了抽象类中抽象放,使得父类定义的算法更完整。 代码实现: 1:用抽象类定义流程, 比如我们每天上班有个流程: 开机-->写代码(不同的程序员可能写不同的代码-->关机;