Strategy与Template Method

Strategy与Template Method

Strategy封装不同的算法,这些算法可以相互替换,于达到实现不同目的。
Template Method定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。

Strategy通过对象组合来实现。
Template Method通过对象继承来实现。
根据“组合优先于继承”原则,在大多数情况下,我们选择Strategy。但并不是一开始
就知道要用Strategy.
有时是通过微重构(组合方法经常被使用),得到Template Method,当问题复杂时,子类需要重写
父类的很多方法,或者子类继承了它本不需要的方法时,应该把Template Method
重构倒Strategy.就像在Header First Deign Patterns中的提到的会飞的鸭子。
Strategy解决了继承带来的耦合问题。

posted on   bmrxntfj  阅读(381)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2008年2月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示