https://juejin.im/post/5a2e42a06fb9a0452936b4f7
模板方法模式涉及到的两个角色
1、抽象模板角色:定义一组基本方法供子类实现,定义并实现,组合了基本方法的模板方法。
2、具体模板角色:实现抽象末班角色定义的基本方法
模板方法模式还涉及到一下方法的概念:
基本方法:
1、抽象方法:由抽象角色声明,abstract修饰,具体角色实现。
2、钩子方法:由抽象加色声明并实现,具体模板角色可以实现并做扩展,
3、具体方法:由抽象角色声明并实现,而子类并不实现。
模板方法:
由抽象角色声明并实现,负责对基本方法的调度。一般以final修饰,不允许具体模板角色重写,模板方法一般也是一个具体方法。