5.10 模板方法模式
模式定义
模板方法模式(Template Method Pattern),定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
模板方法模式是代码复用的一项基本的技术,在类库中尤其重要,它遵循“抽象类应当拥有尽可能多的行为,应当拥有尽可能少的数据”的重构原则。
在JUNIT中我们写的测试类就是通过模版方法来调用的,先执行setUp(),然后是:测试方法,最后执行tearDawn();
模式使用
模版方法模式编程:
1.设计抽象类,在抽象类中定义要执行的方法
2.在模版方法中,加入抽象定义方法的执行步骤
3.在实现类中具体实现
UML类图
类图代码
AbstractClass
public abstract class AbstractClass { //定义好算法结构 public void templateMethod(){ method1(); method2(); method3(); } abstract public void method1(); abstract public void method2(); abstract public void method3(); }
ConcreteClass
Client
public class Client { public static void main(String[] args) { AbstractClass as = new ConcreteClass(); as.templateMethod(); } }