模板方法模式(Template Method Pattern)

Posted yvhqbat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板方法模式(Template Method Pattern)相关的知识,希望对你有一定的参考价值。

1. 模板方法模式定义

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

类图:

适用性:

  1. 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。

  2. 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。
    这是Opdyke和Johnson所描述过的“重分解以一般化”的一个很好的例子。
    首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。

  3. 控制子类扩展。模板方法只在特定点调用“hook”操作,这样就只允许在这些点进行扩展。

以上是关于模板方法模式(Template Method Pattern)的主要内容,如果未能解决你的问题,请参考以下文章

模板方法模式(Template Method Pattern)

编程模式之模板方法模式(Template Method)

15模板方法模式(Template Method)

封装算法: 模板方法(Template Method)模式

模板模式Template Method

设计模式-行为型模式-模板方法模式(Template Method)