上一篇是单例设计模式,接下来继续模版设计模式
模版设计模式:在实现一个功能时,功能的一部分是确定的,另一部分是不确定的,确定的部分还会用到不确定的部分,那么就把不确定的部分暴露出去,让子类去完成
下面我们用一个例子来看看模版设计模式
计算一个程序的运行时间:
获取程序运行的开始和结束时间是确定的,然后两个时间相减
被计算运行时间的程序是不确定的
abstract class MyTool
{
public final void getTime()
{
//获取开始时间
long start = System.currentTimeMillis();
function();
//获取结束时间
long end = System.currentTimeMillis();
//两个时间相减
System.out.println("程序运行时间为:"+(end-start)+"毫秒");
}
public abstract void function();
}
class TestTool extends MyTool
{
public void function()
{
for(int i=1;i<=3000;i++)
{
System.out.println("i="+i);
}
}
}
class Demo
{
public static void main(String[] args)
{
TestTool tt = new TestTool();
tt.getTime();
}
}