作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
模版方法模式(Template Method Pattern)定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模式结构
UML 结构图:
- 抽象类(AbstractClass):定义抽象的原语操作,具体的子类将重定义它们以实现一个算法的各步骤。主要是实现一个模板方法,定义一个算法的骨架。该模板方法不仅调用原语操作,也调用定义在 AbstractClass 或其他对象中的操作。
- 具体类(ConcreteClass):实现原语操作以完成算法中与特定子类相关的步骤。
优缺点
优点:
- 在父类中形式化地定义一个算法,而由其子类