在读《spring in action》一书,读到spring数据访问模板化的内容时,书中以乘坐飞机拖运行李为例,介绍了模板方法这一设计模式。
在乘坐飞机需要拖运行李时,我们需要需要进行行李登记。然后,将行李交给工作人员,工作人员会对行李进行称重,安全扫描检查,然后通过传送带将行李传送到摆渡车。摆渡车载上行李,将行李拉到飞机。到达目的地后,摆渡车会将行李从飞机上拉到取行李处,然后乘客取走自己的行李。
查看整个过程,这个过程对于所有乘客基本都是相同的。对不同乘客不一样的地方,是登记行李时需要各个乘客参与,称重后缴费时需要乘客参与,到达目的地后取走行李时需要乘客参与。除此之外,整个过程无需乘客参与,是不变的部分。
把上述场景抽象一下,就是模板方法这一设计模式。模板方法设计模式定义过程的架构。整个过程中不变的部分在父类中定义,过程中需要改变的部分,交由各个子类来实现。这样,对于具体业务逻辑来说,实现整个过程,只需要开发需要变化的部分,即各个子类的逻辑即可,而不用写大量的固定不变的代码。
在spring访问数据库中的数据时,同样适用模板方法。
我们使用jdbc来访问数据库的数据时,大致的处理过程为,打开一个连接,开始事务,执行sql,获取返回的数据,提交事务,关闭资源,异常处理等。在访问各个数据时,打开连接,开始事务,提交事务,关闭资源,异常处理等过程都是不变的,没有必要在每次访问数据时都把上述逻辑写一遍。每次访问数据时,我们应该专注于执行的sql以及获取返回的数据。所以,可以使用模板方法这一设计模式,来优化这块的代码结构。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/li_canhui/article/details/85319843