知识卡片
模板方法模式的三类适用场景
内容
应用[[模板方法模式的两类方法]]的三类场景:多个子类有公共方法且逻辑相同时上移到父类; 重要复杂算法把稳定核心步骤设计为模板方法;重构时抽取相同代码到父类,配合 [[钩子方法让子类返回值控制父类执行分支]]约束差异。发散:三类场景本质是同一判断依据—— 是否存在稳定调用顺序被多个实现共享。
参考来源
- 位置:《设计模式之禅(第2版)》第10章《模板方法模式》(源文件:_epub-src/text/part0044.html)
- 结论依据:原文列出三类使用场景:多个子类有公有方法且逻辑基本相同、重要复杂算法的核心步骤设计为模板方法、重构时抽取相同代码到父类并用钩子函数约束行为。
- 原始内容:多个子类有公有的方法,并且逻辑基本相同时……重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现……重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数约束其行为。