模板方法模式(Template Method Pattern)

模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。

一、基础

1. 意图

定义一个操作中的算法骨架,将某些步骤延迟到子类中实现。模板方法使得子类可以不改变算法结构的情况下,重新定义算法的某些特定步骤。

2. 使用场景

典型应用

  • 有统一的操作流程,但某些步骤实现可能不同
  • 需要控制子类扩展点
  • 多个类有相似算法,只是部分实现不同
  • 重构含有重复代码的子类

具体案例

  • 文档处理框架(打开、处理、保存)
  • 游戏框架(初始化、主循环、结束)
  • 测试框架(设置、执行、清理)
  • 银行交易处理(验证、执行、记录)

3. 模式结构

抽象类(Abstract Class)

  • 定义了模板方法,该方法包含了算法的骨架,规定了步骤的执行顺序。
  • 声明了一些抽象方法,这些方法是算法中的具体步骤

你可能感兴趣的:(二十三种设计模式,模板方法模式,c++,设计模式)