当前位置: 首页 > news >正文

Java常见技术分享-09-模版方法模式

什么是模版方法模式?

首先 模版方法模式, 应用于 假如你需要实现多个算法, 同时这些算法的 整体流程 一样, 只是在一些环节 上有自己独特的处理, 就可以用这个模式。
通常包含两个组件, 一个是抽象父类,一个是实现抽象父类中抽象方法的子类。通常是这样工作的, 在抽象父类中 会有一个模版方法, 定义好整体流程, 流程中调用的方法 分为两部分, 一部分是通用的方法, 这类方法 在 抽象父类中会有默认实现, 一部分是 根据 具体子类特征 去实现的 抽象方法, 这样的好处是后续扩展相同流程的 算法, 只需要增加一个实现类就好了。 同时又能复用默认实现的方法。
核心思想就是 封装不变的部分, 扩展可变的部分。

SpringBoot中模版方法模式有具体的用途吗?

有的,SpringBoot中的事务管理除了加上@Transactional注解外, 还可以使用TransactionTemplate类, 这个类中的execute方法定义了完整事务管理的流程, 从开启事务, 到提交事务, 出现异常时 ,回滚事务的整体流程, 当我们实现某处代码块也想进行事务管理的时候, 就可以将我们业务逻辑放在 transactionCallback 的 doInTransaction方法里, 不用去操心事务管理的整体流程。 符合模版方法模式的核心思想, 封装不变部分 即事务的整体管理流程, 扩展可变部分 就是我们具体的业务代码。除此之外, 还有一个JDBCTemplate也挺常见的, 比如query方法里调用的execute方法 不变部分,这个方法里 封装了 获取数据库连接, 以及Statement的创建以及关闭, 异常处理这些固定操作, 而我们传入的SQL语句和RowMapper会在这个过程中被调用 ,用来执行 具体的查询 和结果映射 , 作为可变部分。

http://www.cnnetsun.cn/news/115727.html

相关文章:

  • 四时四名,一山万象:朝鲜金刚山的锦绣风姿
  • 基于Spring Boot的果蔬销售系统
  • Scala Collection(集合)
  • 介观交通流仿真软件:DynusT_(11).交通事件管理
  • django基于Python天气分析系统
  • python基于大数据的分析长沙旅游景点推荐系统
  • 基于Django的学分管理系统
  • 广度优先遍历与最短路径
  • 通信系统仿真:通信系统基础理论_(11).光通信技术
  • 17、Linux文件与目录操作全解析
  • 21、Linux系统进程与包管理全解析
  • 二叉排序树的插入、先序/中序/后序/层次遍历、节点查询
  • 如何在 Spring Boot 中接入 Amazon ElastiCache
  • 基于51单片机的血糖步数测量仪
  • Linux C/C++ 学习日记(51):内存池
  • AAAI25|基于神经共形控制的时间序列预测模型
  • CATCH:ICLR 2025 最值得关注的时间序列异常检测新框架
  • 开发到生产全链路:Docker containerd Kubernetes 运行时全景指南
  • 文件包含漏洞终极指南
  • #扫雷游戏
  • Java计算机毕设之基于springboot+vue的高校学院校内订餐系统的设计与实现基于JAVA的学院校内订餐系统的实现(完整前后端代码+说明文档+LW,调试定制等)
  • 小程序计算机毕设之基于微信跑腿小程序的设计与实现基于springboot+微信小程序的跑腿小程序的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 小程序计算机毕设之基于springboot+微信小程序的餐厅预约系统设计与实现基于微信小程序的餐厅预约系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • torch报错:ibtorch_cpu.so: cannot enable executable stack as shared object requires: Invalid argument
  • 计算机小程序毕设实战-基于springboot+微信小程序的餐厅预约系统设计与实现基于SpringBoot的在线点餐系统微信小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【课程设计/毕业设计】基于微信小程序跑腿平台的设计与实现代码基于springboot+微信小程序的跑腿小程序的设计与实现【附源码、数据库、万字文档】
  • jquery的基本使用(2)
  • HTML5结合Vue3实现超大文件分片上传的加密传输方案?
  • 基于增量动力分析方法IDA求解易损性曲线的Matlab代码探秘
  • mysql面试题整理