1. 模板设计模式Template Pattern
当功能内部一部分实现时确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
示例:获取某程序运行的时间。
其中获取时间代码是确定的,但要测定运行时间的程序块是不确定的,那么可以将程序块的方法定义为抽象类,由子类去实现。
abstract class GetTime
{
public final void getTime()
{ //此功能如果不需要复写,可加final限定
long start = System.currentTimeMillis();
code(); //不确定的功能部分,提取出来,通过抽象方法实现
long end = System.currentTimeMillis();
System.out.println("毫秒是:"+(end-start));
}
public abstract void code(); //抽象不确定的功能,让子类复写实现
}
class SubDemo extends GetTime
{
public void code()
{ //子类复写功能方法
for(int y=0; y<1000; y++)
{
System.out.println("y");
}
}
}
本文介绍模板设计模式的应用场景及其实现方式。通过一个具体示例——测量程序运行时间,展示了如何将确定性的代码(获取时间)与不确定性的代码(待测程序块)分离,使得基类能够提供一个固定的流程框架,而具体的实现细节则留给子类来完成。
1820

被折叠的 条评论
为什么被折叠?



