0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设计模式行为型:模板方法模式

冬至子 来源:码农架构 作者:小智 2023-06-07 15:13 次阅读

在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

将一系列方法中的固定方法提取到抽象层,完成代码的复用,且通过子类的重写行为改变类的模板方法的功能的改变。

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

结构图

图片

角色与理解

  • 模板方法模式共分为两种角色:
    • Abstract Class (抽象类):抽象类,提供默认实现的具体方法与供子类实现的抽象方法。
    • Concrete Class (具体子类):实现父类声明的抽象方法,重写父类的逻辑。
  • 抽象类提供模板方法(包含基本方法的执行顺序,可被重写),里边包含具体方法(子类的通用方法),抽象方法(供子类重写的方法),钩子方法(供子类重写控制模板方法逻辑的方法),子类重写父类,使类具有不同的功能。

核心代码

  • 抽象类

图片

  • 具体子类

图片

  • 客户端

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15214

    浏览量

    171144
  • 操作系统
    +关注

    关注

    37

    文章

    6280

    浏览量

    121870
收藏 人收藏

    评论

    相关推荐

    基于入侵行为模式的告警关联

    本文提出了一种基于入侵行为模式的告警关联方式。入侵行为模式是定义在时间基础上的一组谓词公式,其实质是通过时间限制联系在一起的入侵事件的集合。该方法
    发表于 08-13 08:35 6次下载

    模板方法模式在回溯算法中的应用

    描述了模板方法模式及回溯算法的模板方法模式的Java 语言实现,该实现使得回溯算法的实现达到了可
    发表于 01-15 16:48 20次下载

    模板方法模式在回溯算法中的应用

    描述了模板方法模式及回溯算法的模板方法模式的Java 语言实现,该实现使得回溯算法的实现达到了可
    发表于 01-15 16:51 0次下载

    行为模式高频切换下尺度指纹步态算法_王仕亮

    行为模式高频切换下尺度指纹步态算法_王仕亮
    发表于 01-08 14:36 0次下载

    敏捷组织的复杂适应性及其行为模式研究杨小东

    敏捷组织的复杂适应性及其行为模式研究_杨小东
    发表于 03-15 08:00 0次下载

    设计模式最佳实践探索—策略模式

    根据不同的应用场景与意图,设计模式主要分为创建型模式、结构型模式行为模式三类。本文主要探索行为
    的头像 发表于 10-31 14:24 706次阅读

    设计模式行为型:中介模式

    提供一个中介者完成对一系列操作的封装,降低对象间的系统耦合度。中介者模式又称为调停者模式
    的头像 发表于 06-06 17:42 548次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:中介<b class='flag-5'>模式</b>

    设计模式行为型:备忘录模式

    备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为模式
    的头像 发表于 06-07 11:16 586次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:备忘录<b class='flag-5'>模式</b>

    设计模式行为型:策略模式

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:18 429次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:策略<b class='flag-5'>模式</b>

    设计模式行为型:状态模式

    在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:20 383次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:状态<b class='flag-5'>模式</b>

    设计模式行为型:观察者模式

    定义对象之间的一种一对多依赖关系,使得每一个对象发生状态的变化时,其相关依赖对象皆得到通知并被自动更新,又称为发布-订阅模式、模型-视图模式、源-监听器模式或从属者模式
    的头像 发表于 06-07 16:56 460次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:观察者<b class='flag-5'>模式</b>

    行为型设计模式在UVM中的应用

    接下来介绍行为型设计模式在UVM中的应用。
    的头像 发表于 08-09 14:01 399次阅读
    <b class='flag-5'>行为</b>型设计<b class='flag-5'>模式</b>在UVM中的应用

    迭代模式在UVM中的应用有哪些

    行为型设计模式数量较多,上一篇介绍了模板模式和策略模式,下面对迭代模式进行介绍,挖掘其在UVM中
    的头像 发表于 08-14 17:15 382次阅读
    迭代<b class='flag-5'>模式</b>在UVM中的应用有哪些

    如何通过模板模式重构代码

    the algorithm’s structure. 模板方法模式(Template Method Pattern):定义一个操作中的算法的框架, 而将一些步骤延迟到子类中。使得子类可以不改 变一个算法的结构即可重定义该算
    的头像 发表于 10-08 16:15 239次阅读
    如何通过<b class='flag-5'>模板</b><b class='flag-5'>模式</b>重构代码

    噪声的模式行为,区别Earth与Ground的重要性

    噪声的模式行为,区别Earth与Ground的重要性
    的头像 发表于 12-01 16:04 220次阅读
    噪声的<b class='flag-5'>模式</b>与<b class='flag-5'>行为</b>,区别Earth与Ground的重要性