设计模式-模版方法模式

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

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

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

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

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

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

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

相关推荐
码匠许师傅11 小时前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
Ysx13 小时前
AI 问答不再"一本正经地胡说":30 轮提示词迭代,沉淀 4 条防幻觉铁律
设计模式
码匠许师傅13 小时前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
geovindu16 小时前
java:Observer Pattern
java·开发语言·后端·观察者模式·设计模式·行为模式
码匠许师傅2 天前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
小程故事多_802 天前
从快速迭代到稳定存续,Google五大设计模式重构长效AI智能体落地逻辑
人工智能·设计模式·重构
码匠许师傅2 天前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
2401_868534783 天前
网规备考_2.4 路由协议
c++·设计模式
cpp_learner3 天前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
c++·设计模式
码匠许师傅3 天前
【设计模式精讲】23.备忘录模式(Memento)
c++·设计模式·软件工程·uml·备忘录模式