什么是模板方法模式
所谓的模板方法模式,就是说,提供一个大的算法框架,而将这个框架里面的一些具体实现留给子类自己去做,从而可以在不改变大的算法框架的基础上,即改变了相关的实现。
模板方法的适用场景
算法或者操作遵循相似的逻辑
重构时,将相同代码抽取到父类中
重要、复杂的算法,核心算法设计为模板算法。其他需要个性化的部分设为子类实现。
模板方法优点
封装性好、复用性好、屏蔽细节、便于维护。
模板方法确定
继承
案例使用
例如:有各种各样的日志文件需要分析。
这些分析有共性:获取文件--》读取文件--》读取结构--》处理单行文件--》清理操作。
那么,对于前3步及第5步都是共性的,可以防止模板类里面,第四步是个性的操作,放在子类中复写即可。还可以采用一些钩子函数,用于处理第四步个性化的东西。