模板方法模式 (Template Method Pattern)
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
一、模式概述
1.1 定义
模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个算法的骨架,将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。
1.2 适用场景
- 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现
- 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复
- 控制子类扩展
1.3 优缺点
| 优点 | 缺点 |
|---|---|
| 代码复用 | 可能导致类的数量增加 |
| 符合开闭原则 | 父类对子类有较强的约束 |
| 便于维护 | 可能违反里氏替换原则 |