模板方法

模式定义

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

image-20230424192225026

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
public class TemplateMethod {
public static void main(String[] args) {

AbstractClass abstractClass = new SubClass();
abstractClass.operation();

}
}

abstract class AbstractClass{
public void operation(){
System.out.println("pre handle");

System.out.println("step1.");

templateMethod();
}

abstract protected void templateMethod();
}

class SubClass extends AbstractClass{

@Override
protected void templateMethod() {
System.out.println("subclass execute");
}
}

Servlet Api & Spring 中的应用

1
2
javax.servlet.http.HttpServlet
org.springframwork.web.servlet.mvc.AbstractController