美文网首页
8. 模板方法模式

8. 模板方法模式

作者: bit_拳倾天下 | 来源:发表于2021-03-05 20:21 被阅读0次

什么是模板方法模式?

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

这个模式创建了一个算法模板,即一个方法,这个方法中将算法定义成一组步骤(一些列方法的组合,包括抽象方法、实现方法,钩子),其中可能产生差异性的方法就生命为抽象方法,又子类去实现。一成不变的方法就可以自己直接实现,为了保护算法,可以将模板和算法生命为 final。如果模板中的某个算法是可选的,则可以插入钩子,子类决定是否实现具体的钩子,从而可以影响模板内的流程。

模板中的方法,不需要子类时就自己实现,需要子类时,就声明为抽象,由子类去实现。这就是传说中的好莱坞原则。。。

钩子:一种方法,在父类中不做事,后者只做默认的事,由于在父类中已经有了默认实现,子类可以不实现钩子,除非子类项项对模板中的相关步骤进行干预,才去实现它。

这种模式,看起来更像是高层对底层的约束,在父类的模板中,按照步骤调用方法,固有逻辑就自己实现了,会变化的部分则抽象起来让子类去实现,允许子类做决定的部分就加上钩子。这样就实现,我想让你改的地方你能改,不想让你改的地方,想都别想。子类只能对模板做有限的决定,大体上还是要按照模板进行。

相关文章

  • 8. 模板方法模式

    什么是模板方法模式? 在方法中定义一个算法框架,而一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况...

  • 11.8设计模式-模板模式-详解

    设计模式-模式模式 模板方法模式详解 模板方法模式在android中的实际运用 1.模板方法模式详解 2.模板方法...

  • 第5章 -行为型模式-模板方法模式

    一、模板方法模式的简介 二、模板方法模式的优点 三、模板方法模式的应用场景 四、模板方法模式的实例

  • 模板方法模式

    模板方法模式 模板方法模式的定义 模板方法模式(Template Method Pattern)是如此简单,以致让...

  • 设计模式系列-模板方法模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 模板方法模式 定义 模板方法模式在一个方法中定义了算法...

  • 模板方法模式

    一、模板方法模式介绍 二、模板方法模式代码实例

  • 模板方法模式

    一、概念 二、模板方法模式UML图 三、模板方法模式的2个角色 四、模板方法与基本方法的概念 模板方法: 基本方法...

  • 设计模式 | 模板方法模式及典型应用

    本文的主要内容: 介绍模板方法模式 源码分析模板方法模式的典型应用Servlet 中的模板方法模式Mybatis ...

  • 模板方法及观察者模式

    1、本文主要内容 模板方法定义 模板方法示例 观察者模式 本文主要讲两个设计模式,模板方法以及观察者模式,模板方法...

  • 设计模式之十——模板方法模式

    原文传送门 1 介绍 模板方法模式是类的行为模式。 1.1 什么是模板方法模式 模板方法模式是所有模式中最为常见的...

网友评论

      本文标题:8. 模板方法模式

      本文链接:https://www.haomeiwen.com/subject/mcxrqltx.html