Template(模版)设计模式

运用场景:做一件事情,要先做什么,再做什么,最后做什么,这些顺序都是固定的。这就可以用模版方法

模版模式是一种比较常用的模式,在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();
	}

}

 运行结果:

 

你可能感兴趣的:(设计模式,编程,JUnit)