Java设计模式:模板方法模式

一、什么是模板方法模式

在一个方法中定义一个算法的骨架,而将一些步骤延续到子类中。模板方法使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。

二、知识要点

  • “模板方法”定义了算法的步骤,把这些的实现延续到了子类中。
  • 模板方法模式为我们提供了一种代码复用的重要技能。
  • 模板方法的抽象类可以定义具体的方法、抽象方法和钩子。
  • 抽象方法由子类实现。
  • 钩子是一种方法,他在抽象类中不做事,或者只是做默认的事情,子类可以选择要不要去覆盖它。
  • 为了防止子类改变模板方法中的算法,可以将模板方法声明为final。
  • 好莱坞原则告诉我们,将决策权放在高级模块中,以便决定如何以及何时调用底层模块。
  • 你将在真实代码中看到模板方法模式的许多变体,不要期待它们是一眼就可以被你认出的。
  • 策略模式和模板方法模式都封装算法,一个用组合,一个用继承。
  • 工厂方法是模板方法的一种特殊版本。

三、类图

模板方法模式类图.png

四、项目实践

需求:对关键词进行演绎,其中有多种演绎规则,说的通俗一点就是输入关键词和演绎规则列表输出演绎后的关键词。
分析:不同规则演绎生成关键词的步骤是相同的,所以可以采用模板方法设计模式来实现。
  • 设计类图
  • 具体实现代码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,772评论 0 14
  • 定义 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象...
    步积阅读 911评论 0 0
  • 介绍 模板方法模式是编程中经常用得到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子...
    GaaraZ阅读 309评论 0 0
  • 万里秋风黄叶舞, 百年名校学子盈。 朝花夕拾往事浮, 辽阔天空任尔行。
    秦思语阅读 135评论 0 0
  • 那年秋天北国飘着落叶 风徐徐地吹着潇潇的你 你手托着脖颈系上围巾 我眼含着泪说是秋风吹 去年秋天南国飘着落叶 风徐...
    诗的影子阅读 291评论 0 0