0%

Template Method

1. 意图

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

2. 适用场景

  • 有一套通用的算法流程, 但是具体实现步骤可能有差别
  • 业务流程基本定型, 不需要重复开发规范好的代码

3. 实现

3.1. 参与者

3.2. 结构

3.3. 特点

  • 封装不变部分, 扩展可变部分

3.4. 开发规范

为了防止恶意操作, 一般模板方法都加上 final 关键字