模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。
一、基础
1. 意图
定义一个操作中的算法骨架,将某些步骤延迟到子类中实现。模板方法使得子类可以不改变算法结构的情况下,重新定义算法的某些特定步骤。
2. 使用场景
典型应用:
- 有统一的操作流程,但某些步骤实现可能不同
- 需要控制子类扩展点
- 多个类有相似算法,只是部分实现不同
- 重构含有重复代码的子类
具体案例:
- 文档处理框架(打开、处理、保存)
- 游戏框架(初始化、主循环、结束)
- 测试框架(设置、执行、清理)
- 银行交易处理(验证、执行、记录)
3. 模式结构
抽象类(Abstract Class)
- 定义了模板方法,该方法包含了算法的骨架,规定了步骤的执行顺序。
- 声明了一些抽象方法,这些方法是算法中的具体步骤