模板方法(Template)

1

定义

  模板方法(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
abstract class Cook {
abstract void addFood();

abstract void operation();

void cook() {
addFood();
operation();
}
}

class TomatoEgg extends Cook {
@Override
void addFood() {
System.out.println("add tomato and egg");
}

@Override
void operation() {
System.out.println("begin to fry!");
}
}

class TomatoBeef extends Cook {
@Override
void addFood() {
System.out.println("add tomato and beef");
}

@Override
void operation() {
System.out.println("begin to boil!");
}
}

class Test {
public static void main(String[] args) {
TomatoEgg tomatoEgg = new TomatoEgg();
tomatoEgg.cook();

TomatoBeef tomatoBeef = new TomatoBeef();
tomatoBeef.cook();
}
}

类图

1

特点

  模板方法的特点是,定义一个抽象类,其中有一个非抽象方法(模板),调用多个抽象方法。子类去继承这个抽象类,实现抽象方法。使用者通过调用子类的非抽象方法,按顺序调用这些抽象实现。

总结

  模板方法使用的场景还是比较多的,在Android项目中,Activity的实现就是一种模板方法,我们创建的Activity可以通过实现onCreate,onResume等创建符合自己预期的界面。

-------------本文结束感谢您的阅读-------------
0%