一、工廠方法模式(Factory Method)--> 多態性工廠(Polymorphic Factory)
1.定義:就是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類
2.UML圖
3.簡單測試代碼如下:
三、在Java中的使用
1.在集合中的運用
java.util.Collection 中 iterator()方法 --> 通過這個方法創建Iterator對象
java.uitl.Iterator
1.定義:就是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類
2.UML圖

3.簡單測試代碼如下:
1
/**
2
* 定義一個抽象工廠
3
*/
4
public interface ICarFactory {
5
6
/**
7
* 工廠方法
8
*/
9
ICar factory();
10
}
11
12
public class BMWFactory implements ICarFactory {
13
14
public ICar factory() {
15
return new BMW();
16
}
17
18
}
19
20
public class BenzFactory implements ICarFactory {
21
22
public ICar factory() {
23
return new Benz();
24
}
25
26
}
27
28
/**
29
* 定義一個產品的接口
30
*/
31
public interface ICar {
32
void start();
33
}
34
35
public class Benz implements ICar {
36
37
public void start() {
38
System.out.println("Benz start.");
39
}
40
41
}
42
43
public class BMW implements ICar {
44
45
public void start() {
46
System.out.println("BMW() start.");
47
}
48
}
49
50
/**
51
* 測試工廠方法模式
52
*/
53
public class TestFactoryMethod {
54
55
public static void main(String[] args) {
56
57
ICarFactory carFactory = new BMWFactory(); //BMW工廠
58
ICar car = carFactory.factory();
59
car.start();
60
61
ICarFactory carFactory1 = new BenzFactory(); //Benz工廠
62
ICar car1 = carFactory1.factory();
63
car1.start();
64
}
65
}
66

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

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

三、在Java中的使用
1.在集合中的運用
java.util.Collection 中 iterator()方法 --> 通過這個方法創建Iterator對象
java.uitl.Iterator