设计模式——模版方法模式

shanzm-2020年7月20日 01:55:50

1. 简介

1.定义

模版方法模式(Template Method Pattern):用于定义一个操作中算法的骨架,而将一些步骤延迟到子类中。

模版方法模式使得子类可以不改变一个算法的结构及可重定义该算法的某些特定步骤。

简而言之:模版方法模式功能在于固定算法骨架,而让具体算法实现可扩展。

其实只要是理解继承和多态即可以立即明白模版方法模式。模版方法模式是通过把不变行为搬移到父类,除去子类中的重复代码。

2.主要类

  • AbstractClass:抽象类。用来定义算法骨架(抽象方法)。具体的子类通过重写抽象方法来实现一个算法的各个步骤。

  • ConcreteClass:具体实现类。用来实现算法骨架中的某些步骤,完成与特定子类相关的功能。

3.名词解释

  • 模版方法:抽象类中定义算法骨架的方法。

  • 原语操作:即抽象方法,抽象类中定义的抽象操作。

  • 具体操作:即具体方法,抽象类定义的具体方法体的方法

  • 钩子方法:用于决定模版方法中某个方法是否执行的方法。钩子方法就是通过子类的行为去反向控制父类的行为的一种方法

4.抽象工厂模式的UML

Template Method Pattern UML