设计模式之模板方法模式(Template Pattern)

概述

The Template pattern defines a structure for sub classes in which steps of an algorithm and their order are defined. This ensures that the sub classes follow the exact same steps, providing better overview and consistency. It also allows to define default implementations for steps that can be overridden by subclasses.

模板方法模式就是给定一个算法的步骤,但是具体算法实现交给子类完成。还是比较好理解的。

本文类图

设计模式之模板方法模式(Template Pattern)_第1张图片
Template本文类图

代码示例

BaseSteps的templateMethod就是模板方法,他定义了具体的算法步骤。

设计模式之模板方法模式(Template Pattern)_第2张图片
BaseSteps的templateMethod就是模板方法

ConcreA是BaseSteps中算法的具体实现。

设计模式之模板方法模式(Template Pattern)_第3张图片
ConcreA

ConcreB是BaseSteps中算法的具体实现。

设计模式之模板方法模式(Template Pattern)_第4张图片
ConcreB

测试结果

设计模式之模板方法模式(Template Pattern)_第5张图片
TemplateMethod的测试结果

参考资料

参考代码资料,推荐看这篇文章,本文代码GitHub地址

你可能感兴趣的:(设计模式之模板方法模式(Template Pattern))