前言: 模板模式看起来不像一个设计模式,可能它看起来太简单了吧。把一些方法中的共性抽象到一个抽象类中,然后子类去实现这个抽象类中的方法就是模板模式。但这只是简单的说法,更准备的说法是这个抽象父类要控制流程,具体实现由子类控制,所以父类中一般有抽象待实现方法和一些具体的流程方法。为了防止子类篡改,具体方法一般是final方法。但为了应用更加灵活,我们一般会增加一个钩子方法,在子类中一般有一个字段,然后有一个设值方法。
类图:
模板模式和策略模式,访问者模式的区别,他的适用范围更广,适合处理一些逻辑不算很复杂的场景。