概述

模版方法模式(Template Method Pattern)定义一个操作中算法的骨架,将算法中某些步骤延迟到子类中实现,这样不会改变算法的结构,可以改变某个步骤的行为。

优点:符合“开闭原则”、“单一职责原则”。
缺点:复杂度增加。

abstract class Super {
  public void op1() {
    // body
  }
  
  public void op3() {
    // body
  }
  
  abstract void op2();
  
  public void templateMethod() {
    this.op1();
    this.op2();
    this.op3();
  }
}

public class Sub1 extends Super {
  public void op2() {
    // body
  }
}

public class Sub2 extends Super {
  public void op2() {
    // body
  }
}

图示:
image

参考

[1] 刘伟, 设计模式,2011.

 posted on 2024-03-24 09:40  x-yun  阅读(3)  评论(0编辑  收藏  举报