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

DP学习——模板模式

学而时习之,温故而知新。

字面理解

模板?啥叫模板?模板就是固定死了,就是一套流程/步骤上层写死了。固定死了的流程或者步骤就是模板。然后我们要重写或者改写的是写死的这套流程中的节点。俗称“套模板”。

使用场合(敌人出招)

当面对有固定流程的软件问题时,怎么办?你出什么招?
就是开发流程或算法步骤是先绑定和后绑定的问题。
啥意思?我的理解就是在抽象类的方法里实现整个算法流程,但是某一个步骤用纯虚方法实现,由继承抽象类的子类来实现——类似于用c写算法时,某一步骤是用一个函数指针来表示——空出来一个接口,由别的模块实现,然后传递函数指针过来。这就是后绑定。

oop语言中实现

而oop里就是子类继承抽象类,返回父类指针,调用就行了,统一了上层应用程序的逻辑(上层应用代码不用改变),只需编写子类就可以实现算法替代,就是换底层(初始化时改下,上层业务代码不变)。

c中模板模式

在c中,比如大型软件中,框架固定,如果底层平台不断变化,那么可以搞这样的模板——上层流程不变,写死的,但是流程的各个节点采用统一的函数或者函数指针,然后在最底层各个平台实现上层流程所需的同名函数或者初始化时传递函数指针。这样上层框架代码不变,变的是编译时链接的平台函数是不同的,初始化时传递的函数指针是不同的。
这样上层代码不变,底层的各个平台进行扩展。
把握住变化的点和不变的点。

变化的点——底层各个平台,是不断变化的——增加(亦称之为扩展)、删除、修改等。
不变化的点——上层业务逻辑代码是写死的,固定的。

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

相关文章:

  • AOP在业务中的简单使用
  • C# 用户权限界面的测试内容
  • PyCharm
  • 【嵌入式开发 Linux 常用命令系列 1.5 -- grep 过滤特定类型文件】
  • 学习笔记——动态路由——OSPF(邻接/邻居)
  • k8s 答疑
  • [终端安全]-2 移动终端之硬件安全(SE)
  • 数据库与SQL
  • AIGC | 在机器学习工作站安装NVIDIA CUDA® 并行计算平台和编程模型
  • 【电商纯干货分享】干货速看!电商数据集数据API接口数据分析大全!
  • 随手记录: Ubuntu NVIDIA显卡驱动安装后 屏幕亮度无法调节 无法连接外显示器等问题
  • Java:数组
  • 【代码随想录——图论——岛屿问题】
  • 异步调用 - 初识
  • Java 家庭物联网
  • 机器学习——随机森林
  • Java - JDK17语法新增特性(如果想知道Java - JDK17语法新增常见的特性的知识点,那么只看这一篇就足够了!)
  • Linux-DNS
  • 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用
  • 云联壹云 FinOps:赋能某车企公有云成本管理与精细化运营
  • C#静态类与非静态类
  • 亚信安全:《2024云安全技术发展白皮书》
  • GuLi商城-商品服务-API-品牌管理-云存储开通与使用
  • git 命令行初始化并上传项目
  • Spring框架Mvc(2)
  • Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗
  • 【LLM】一、利用ollama本地部署大模型
  • Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序
  • 玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南
  • Zabbix——宏