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

被折叠的 条评论
为什么被折叠?



