知识卡片

模板方法模式的三类适用场景

普通读书笔记卡 · 1985.a.5

内容

应用[[模板方法模式的两类方法]]的三类场景:多个子类有公共方法且逻辑相同时上移到父类; 重要复杂算法把稳定核心步骤设计为模板方法;重构时抽取相同代码到父类,配合 [[钩子方法让子类返回值控制父类执行分支]]约束差异。发散:三类场景本质是同一判断依据—— 是否存在稳定调用顺序被多个实现共享。

参考来源

- 位置:《设计模式之禅(第2版)》第10章《模板方法模式》(源文件:_epub-src/text/part0044.html) - 结论依据:原文列出三类使用场景:多个子类有公有方法且逻辑基本相同、重要复杂算法的核心步骤设计为模板方法、重构时抽取相同代码到父类并用钩子函数约束行为。 - 原始内容:多个子类有公有的方法,并且逻辑基本相同时……重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现……重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数约束其行为。