知识卡片
模板方法模式的两类方法
内容
按[[重复代码是发现模板方法模式的信号]]重构后,抽象模板类的方法分两类:基本方法——由 子类各自实现的具体步骤;模板方法——通常只有一个,定义调用基本方法的固定顺序,一般加 final防止被覆写。具体模板类只需实现基本方法,模板方法本身复用父类实现。发散:这个划分 让”算法骨架”和”具体步骤”彻底解耦。
参考来源
- 位置:《设计模式之禅(第2版)》第10章《模板方法模式》(源文件:_epub-src/text/part0043.html)
- 结论依据:原文给出模板方法模式的正式定义并划分AbstractClass中的方法为"基本方法"(子类实现)与"模板方法"(框架,调度基本方法),并说明"为了防止恶意的操作,一般模板方法都加上final关键字,不允许被覆写"。
- 原始内容:定义一个操作中的算法的框架,而将一些步骤延迟到子类中……基本方法也叫做基本操作,是由子类实现的方法,并且在模板方法被调用……模板方法……一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑。