定义
定义算法的骨架(顶层逻辑),将部分步骤延迟到子类实现。(封装不变,可变部分延迟到子类实现)
模板模式有两大作用
复用和扩展。其中,复用指的是,所有的子类可以复用父类中提供的模板方法的代码。扩展指的是,框架通过模板模式提供功能扩展点,让框架用户可以在不修改框架源码的情况下,基于扩展点定制化框架的功能。
优点:
封装不变的部分(骨架,或者某些步骤定义在父类),扩展可变的部分(可变步骤在子类具体实现)提取公共代码,便于维护