我们不能失去信仰

我们在这个世界上不停地奔跑...

0%

Java模板设计模式

模板设计模式

模板(Template)设计模式:

模板模式就是定义一个算法的骨架,而具体的算法延迟到子类中来实现

优点

使用模板方法模式,在定义算法骨架的同事,可以很灵活的实现具体的算法,满足用户灵活多变的需求

缺点

如果算法骨架有修改的话,则需要修改抽象类

示例

计算代码执行时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.enjoyms.template;


public class Main {

public static void main(String[] args) {


long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("总耗时: "+ (end-start) +"毫秒");

// 如何计算 for 循环代码块的耗时,或者计算一个 方法的耗时。 通过模板设计模式实现

/*
* 设计一个计算耗时的模板
* */

Test test = new Test();
System.out.println(test.getScheduleTime());

}
}


abstract class TimeTemplate {
// 获取执行的时间
public long getScheduleTime(){
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
return end-start;
}

public abstract void code();
}

class Test extends TimeTemplate {

@Override
public void code() {

for (int i = 0; i < 1000000; i++) {

System.out.println(i);
}

}
}