模板方法模式:Template Method Pattern、行为型模式
模板方法模式定义一个操作中的算法框架,将一些步骤延迟到子类中,使子类不改变算法结构即可重新定义该算法的特定步骤。
模板方法模式核心在于 封装一个固定的流程,抽象封装,类的继承机制
模板方法模式应用场景
1、一次性实现一个算法不变的部分,并将可变的行为留给子类来实现
2、各子类的公共行为被集中提取到一个公共的父类,避免代码重复。
模板方法模式的优缺点
优点:
1、通过使用模板方法将相同的处理逻辑集中放在抽象父类中,这样可以提高代码的复用性
2、通过子类的扩展增加新的行为,提高代码的扩展性。
缺点:
1、继承关系到自身缺点,如果抽象父类增加新的抽象方法,所有子类都要修改一次。
模板方法模式源码应用
1、AbstractList AbstractMap 等
2、Mybatis 中的 BaseExecutor