模板方法模式

Catalogue   

定义

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

类图

角色

  • 抽象类 (AbstractClass):会声明作为算法步骤的方法, 以及依次调用它们的实际模板方法。 算法步骤可以被声明为抽象类型, 也可以提供一些默认实现。
  • 具体类 (ConcreteClass):可以重写所有步骤, 但不能重写模板方法自身。

优缺点

使用场景

参考