设计模式 - 模板方法模式
1.设计模式6原则 2.设计模式23种3.设计模式 - 单例模式4.设计模式 - 原型模式5.设计模式 - 抽象工厂6.设计模式 - 工厂方法7.设计模式 - 解释器模式8.设计模式 - 代理模式9.设计模式 - 外观模式10.设计模式 - 装饰者模式11.设计模式 - 组合模式12.设计模式 - 适配器模式13.设计模式 - 桥接模式14.设计模式 - 建造者模式15.设计模式 - 享元模式16.设计模式 - 策略模式17.设计模式 - 访问者模式18.设计模式 - 状态模式19.设计模式 - 迭代器模式20.设计模式 - 观察者模式21.设计模式 - 命令模式22.设计模式 - 中介者模式23.设计模式 - 备忘录模式24.设计模式 - 职责链模式
25.设计模式 - 模板方法模式
定义
Define the skeleton of an algorithm in an operation, deferring some steps to subclasses.
Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.
UML
实例
算法实现,自定义类库,一张数据表生成不同的统计报表,
- 客户端扩展某个特定算法步骤,而不是整个算法或结构。
- 多个类的算法除了一些细微不同之外几乎完全一样。
比较
比较 | 模板方法模式 | 备注 |
---|---|---|
工厂方法模式 | 定义操作的骨架 | 工厂方法是模板方法的一种特殊形式,可以作为一个大型模板方法中的一个步骤 |
策略模式 | 模板方法基于继承,通过扩展子类中的部分内容来改变部分算法。针对类,是静态的 | 策略基于组合机制,通过对相应行为提供不同的策略来改变对象的部分行为。针对对象,允许在运行时切换行为 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-04-21 Ling应用