设计模式-模版方法模式

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

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

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

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

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

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

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

相关推荐
碎梦归途2 小时前
23种设计模式-结构型模式之代理模式(Java版本)
java·开发语言·jvm·设计模式·代理模式
天狗精灵2 小时前
狗教我React—— 5 种组件提取思路与实践
前端·react.js·设计模式
天堂的恶魔9463 小时前
C++项目 —— 基于多设计模式下的同步&异步日志系统(3)(日志器类)
c++·算法·设计模式
诸葛小猿3 小时前
缓存设计模式
缓存·设计模式
CF14年老兵3 小时前
📚 API 设计终极指南:从基础到进阶
前端·后端·设计模式
贝塔实验室6 小时前
基于XC7V690T的在轨抗单粒子翻转系统设计
设计模式·fpga开发·系统架构·流程图·软件构建·个人开发·fpga
天堂的恶魔9466 小时前
C++项目 —— 基于多设计模式下的同步&异步日志系统(5)(建造者模式)
c++·设计模式·建造者模式
碎梦归途6 小时前
23种设计模式-创建型模式之建造者模式(Java版本)
java·开发语言·jvm·设计模式·intellij-idea·建造者模式
千千寰宇8 小时前
[设计模式/Java] 设计模式之门面模式(外观模式)【20】
设计模式
ApeAssistant9 小时前
Spring + 设计模式 (八) 结构型 - 外观模式
spring·设计模式