运用场景:做一件事情,要先做什么,再做什么,最后做什么,这些顺序都是固定的。这就可以用模版方法
模版模式是一种比较常用的模式,在JUNIT中我们写的测试类就是通过模版方法来调用的。比如:
先执行setUp()
然后是:测试方法
最后执行tearDawn();
模版方法模式编程:
1,设计抽象类,在抽象类中定义要执行的方法
2,在模版方法中,加入抽象定义方法的执行步骤
3,在实现类中具体实现
类图:
java代码:
AbstractClass:
package com.pattern.template;
abstract public class AbstractClass
{
public void templateMethod()
{
method1();
method2();
method3();
}
abstract public void method1();
abstract public void method2();
abstract public void method3();
}
ConcreteClass
package com.pattern.template;
public class ConcreteClass extends AbstractClass
{
@Override
public void method1()
{
System.out.println("invoke method1");
}
@Override
public void method2()
{
System.out.println("invoke method2");
}
@Override
public void method3()
{
System.out.println("invoke method3");
}
}
测试代码:
package com.pattern.template;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
AbstractClass as = new ConcreteClass();
as.templateMethod();
}
}
运行结果: