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

模板方法-

定义:又叫模板模式,是指定义一个算法骨架,并允许子类为其中的一个或多个步骤提供实现。

适用场景:

1、一次性实现一个算法不变的部分,并将可变的行为留给子类来实现

2、各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复

优点:

1、利用模板方法将相同处理逻辑的代码放到抽象父类中,可以提高代码的复用性

2、将不同的代码不同的子类中,通过对子类的拓展增加新的行为,提高代码的拓展性

3、把不变的行为写在父类上,去除子类的重复代码,提供了一个很好的代码复用平台,符合开闭原则

缺点:

1、类数目的增加,每一个抽象类都需要一个子类来实现,这样导致类的个数增加

2、类数量的增加,间接地增加了系统实现的复杂度

3、继承关系自身缺点,如果父类添加新的抽象方法,所有子类都要改一遍

生活场景中的应用:

1、把大象放进冰箱需要几步?打开冰箱门 -> 放入大象 -> 关闭冰箱门

2、固定流程

源码应用:
               1)spring中以Template命名的类,如JdbcTemplate、TransactionTemplate

               2)mybatis的doUpdate、doFlushStatements、doQuery 和 doQueryCursor 这几个方法就是交由子类来实现的,也就是说继承 BaseExecutor 的子类只需要实现这 4 个基本方法来完成数据库的相关操作即可。

http://www.lryc.cn/news/91070.html

相关文章:

  • [Kubernetes] - RabbitMQ学习
  • swagger页面 doc.html出不来,swagger-ui/index.html能出来
  • IEEE802.3和IEEE802.11的分类(仅为分类)
  • c# cad二次开发通过获取excel数据 在CAD绘图,将CAD属性导出到excel
  • LLM之高性能向量检索库
  • 实体类注解
  • 常见数据结构种类
  • linux高级---k8s中的五种控制器
  • 记一次udp服务性能优化经历
  • uniapp和VueI18n多语言H5项目语言国际化功能搭建流程
  • C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓
  • SpringBoot接收请求参数的方式
  • MKS SERVO4257D 闭环步进电机_系列5 CAN指令说明
  • 安捷伦E4440A(Agilent) e4440a 3HZ-26.5G频谱分析仪
  • 华为OD机试真题 Java 实现【最长子字符串的长度】【2022Q4 100分】,附详细解题思路
  • 【iOS】--对象的底层结构
  • 高并发内存池设计_内存池
  • 给编程初学者的一封信
  • 【无功优化】基于改进教与学算法的配电网无功优化【IEEE33节点】(Matlab代码时候)
  • 数据在内存中的存储(超详细讲解)
  • log4cplus使用示例
  • 人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用
  • learnOpenGL-深度测试
  • 阿里云服务器数据盘是什么?系统盘和数据盘区别
  • linux常用命令精选
  • 人体行为足力特征分析及其应用研究_kaic
  • javascript基础二十七:说说 JavaScript 数字精度丢失的问题,解决方案?
  • 重塑工作场所:后疫情时代组织韧性的8个策略
  • TCP协议为什么要三次握手而不是两次?
  • 使用Vuex进行状态管理