C++模板方法TemplateMethod

23种设计模式分为九类

1.组件协作

2.单一职责

3.对象创建

4.对象性能

5.接口隔离

6.状态变化

7.数据结构

8.行为变化

9.领域问题

什么时候、什么地点用设计模式

才是最重要的。

关键的重构技法:

静态-----动态

早绑定---晚绑定

继承-----组合

编译时依赖------运行时依赖

紧耦合----松耦合

组件协作 :通过晚期绑定,实现松耦合

(就是用于协作)

典型模式:

  • 模板方法template method (用早的库调用晚的应用,稳定中可以存在变化,稳定的写成非虚就行,必须要有稳定的东西,不然没有意义)

库开发人员要开发135三个步骤,

应用开发人要开发24两个步骤。还写了主流程。

vs

库开发人员要开发135三个步骤, 和主流程

引用开发人开发24两个步骤

library肯定是早,application是晚。

晚绑定的机制就是:库调用应用(早的调用晚的)

把稳定的东西,定义一些虚函数,让子类写。

模板方法就是可以让子类复用算法结构,也可以重新定义。

为什么这是第一个设计模式

因为这个用的最广泛的,基础。

这就是面向对象,以前就在用,只不过不知道他叫template method。就是稳定的不被不稳定的调用。

  • 策略模式
  • 事件模式
相关推荐
杜子不疼.1 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号31 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia2 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码2 小时前
C++ 内存分区 堆区
java·开发语言·c++
无风听海2 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠3 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP4 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
web3.08889994 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
张小姐的猫4 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
один but you5 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言