模板设计模式

1.什么是模板设计模式

  1. 所学的抽象类就是此模式的体现
  2. 抽象类作为子类的模板
  3. 子类在这个模板上进行修改
  4. 但抽象类的行为方式子类是要保持的

Java角度来看,功能内部一部分东西是确定的就写到抽象类中,一部分不确定的暴漏出去,让子类去实现

2.通过抽象案例体现

2.1测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class TemplateTest {
public static void main(String[] args) {
Template template = new SubTemplate();
template.Code();
template.spendTime();
}
}
abstract class Template{
//用于计算花费时间(此方法具有确定性)
public void spendTime() {
long start = System.currentTimeMillis();
Code();
long end = System.currentTimeMillis();

System.out.println("花费的时间为:"+(end-start));
}

//此方法是不确定的具体需要子类去实例
public abstract void Code();
}


2.2子类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class SubTemplate extends Template{
@Override
public void Code() {
//输出1000以内的质数
for (int i = 2; i < 1000; i++) {
boolean isFlag = true;
for (int j = 2;j<Math.sqrt(i);j++){
if (i % j == 0){
isFlag = false;
}
}
if (isFlag){
System.out.println(i);
}
}
}
}

模板设计模式
http://example.com/2022/04/20/Java初级部分/DesignPattern/模板设计模式/
Author
John Doe
Posted on
April 20, 2022
Licensed under