模板方法模式

设计模式/行为型设计模式

简述

定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤

UML 图

代码

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

@Slf4j
public abstract class CatTemplate {
public void start() {
step1();
step2();
}

public void step1() {
log.debug(“CatTemplate step 1 — “);
}

public abstract void step2();
}

@Slf4j
public class DefaultTemplate extends CatTemplate {
@Override
public void step2() {
log.debug(“DefaultTemplate step 2 — “);
}
}

// 客户端
public class Client {
public static void main(String[] args) {
CatTemplate catTemplate = new DefaultTemplate();
catTemplate.start();
}
}