Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

模板模式



模板模式

Java设计模式—模板方法模式

模板设计模式,定义一个抽象类,其中有抽象方法和具体方法,具体方法调用抽象方法。抽象方法可以有所继承的子类进行自定义,这就是模板设计模式。

不同的子类根据子类的不同定义,执行不同的算法。(也可以核心算法固定,中间可以定义一些自定义算法,例如增减排序)

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
package Java_test;
/**
模板设计模式,定义一个抽象类,其中有抽象方法和具体方法,具体方法调用抽象方法。抽象方法可以有所继承的子类进行自定义,这就是模板设计模式。
不同的子类根据子类的不同定义,执行不同的算法。(也可以核心算法固定,中间可以定义一些自定义算法,例如增减排序)
*/
public class TemplatePattern {

public static void main(String[] args) {
ConcreteClass concreteClass = new ConcreteClass();
concreteClass.doTemplate();
TemplateAbstract template = new TemplateAbstract(){
@Override
protected void doSomething() {
System.out.println("doSomething");
}
@Override
protected void customFunction() {
System.out.println("customFunction");
}
};
template.doTemplate();
}
}
abstract class TemplateAbstract{
protected abstract void doSomething();
protected abstract void customFunction();
protected void doTemplate(){
doSomething();
customFunction();
}
}
class ConcreteClass extends TemplateAbstract{
@Override
protected void doSomething() {
System.out.println("自定义doSomthing");
}
@Override
protected void customFunction() {
System.out.println("自定义customFunction");
}
}

评论