设计模式-模版方法模式

模版方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义算法的某些定义步骤。

需要注意的是,一般的模板方法需要用 final 修饰,防止子类重写模板方法。

根据上面的代码,我们可以分析出来:

模版访问模式包括的角色:

抽象类:负责实现一个算法的骨架,他是由一个**final修饰的模版方法和若干个基本方法组成的**

具体子类:实现抽象类中所定义的抽象方法,并完成子类子类需要的特定算法步骤

基本思想就是:算法只存在于父类中,容易修改。如果需要修改算法,只需要修改父类的模板方法或者已经实现的某些步骤,子类就会继承这些修改。

相关推荐
WiLL11 小时前
AI 时代下的 SaaS: Skill As A Service (一)
设计模式·架构
basketball61612 小时前
设计模式入门:3. 装饰器模式详解 C++实现
c++·设计模式·装饰器模式
咖啡八杯12 小时前
GoF设计模式——装饰模式
java·算法·设计模式·装饰器模式
lqqjuly1 天前
设计模式:理论、架构与 C++ 实现—SOLID原则到23 种经典模式
c++·设计模式·架构
老码观察2 天前
设计模式实战解读(九):责任链模式——流水线上层层把关的艺术
java·设计模式·责任链模式
workflower3 天前
具身智能研究对象:物理交互中的智能行为
设计模式·动态规划·软件工程·软件构建·scrum
折哥的程序人生 · 物流技术专研3 天前
Java 23 种设计模式:从踩坑到精通 | 抽象工厂 —— 支付/收款如何成套创建?跨平台 UI 如何一键换肤?
java·开发语言·后端·设计模式
老码观察3 天前
设计模式实战解读(八):代理模式——控制访问的隐形中间层
设计模式·代理模式
我爱cope3 天前
【Agent智能体12 | 反思设计模式-使用外部反馈】
人工智能·设计模式·语言模型·职场和发展
geovindu3 天前
python: Bounded Parallelism Pattern
开发语言·python·设计模式·有界并行模式