设计模式-模版方法模式

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

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

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

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

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

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

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

相关推荐
zhulangfly5 小时前
轻松理解智能体设计模式(1/6):提示链(Prompt Chaining)
设计模式·prompt chaining
da_vinci_x8 小时前
2D角色动画进阶:Spine网格变形与序列帧特效的混合工作流
游戏·设计模式·设计师·photoshop·spine·游戏策划·游戏美术
代码萌新知18 小时前
设计模式学习(五)装饰者模式、桥接模式、外观模式
java·学习·设计模式·桥接模式·装饰器模式·外观模式
charlie11451419121 小时前
理解C++20的革命特性——协程支持2:编写简单的协程调度器
c++·学习·算法·设计模式·c++20·协程·调度器
笨手笨脚の21 小时前
设计模式-适配器模式
设计模式·适配器模式·结构型设计模式
青草地溪水旁1 天前
第五章:原型模式 - 克隆大法的大师
c++·设计模式·原型模式
1710orange1 天前
java设计模式:静态代理模式
java·设计模式·代理模式
我真的是大笨蛋1 天前
开闭原则详解(OCP)
java·设计模式·性能优化·开闭原则·设计规范
1710orange1 天前
java设计模式:动态代理
java·开发语言·设计模式
简小瑞1 天前
VSCode用它管理上千个服务:依赖注入从入门到实战
前端·设计模式