模板方法模式 Template Method Pattern¶
更新日期:2022-6-1
- 2022-6-1:更新格式
定义¶
Define the skeleton of an algorithm in an openration, deferring some steps to subclasses.Template Method lets subclasses redifine centain steps of an algorithm without changing the algorithm's structure.
基本方法:
也叫基本操作,由子类实现,并且在模板方法中被调用。
模板方法:
可以有一个或几个,一般是一个具体的方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑。
为防止恶意的操作,一般模板方法都加上final关键字,不允许被覆写。
应用¶
优点¶
- 封装不变部分,扩展可变部分
- 提取公共部分代码,便于维护
- 行为由父类控制,子类实现
使用场景¶
- 多个子类有公有的方法,并且基本逻辑相同
- 重要、复杂的算法,可以把核心算法设计为模板方法,细节由子类实现
- (重构时)把相同代码提取到父类中,然后通过钩子函数约束其行为
父类中可以设置一些属性,子类可以去覆盖这些属性来改变行为。
参考:《设计模式之禅》 秦小波
本站说明
一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~