设计模式-模版方法模式

179 阅读1分钟

定义

定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。
模版方法使子类在不改变算法结构的情况下,重新定义算法的某些步骤

使用场景

  1. 一次性实现算法的不变部分,将可变的行为留给子类来实现
  2. 各子类的公共行为被提取到一个父类中,避免代码的重复

优点

  1. 提供复用性
  2. 提高扩展性
  3. 符合开闭原则

缺点

  1. 增加类的数目
  2. 增加了系统实现的复杂度
  3. 继承关系自身缺点,如果父类增加了新的抽象方法,所有子类都要改一边

模版方法-扩展

钩子方法: