![](/icons/70699yi.gif)
![](/icons/70699de.gif)
![](/icons/70699yi.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699dou2.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699yi.gif)
![](/icons/70699dou.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699yi.gif)
![](/icons/70699de.gif)
![](/icons/70699de.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
2、 工厂思路方法模式角色和结构
抽象工厂(Creator)角色:是工厂思路方法模式
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699chengxu.gif)
![](/icons/70699dou2.gif)
![](/icons/70699de.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
具体工厂(Concrete Creator)角色:这是实现抽象工厂接口
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699chengxu.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699chengxu.gif)
![](/icons/70699diaoyong.gif)
![](/icons/70699dou2.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
抽象产品(Product)角色:工厂思路方法模式所创建
![](/icons/70699de.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699de.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
![](/icons/70699dou.gif)
![](/icons/70699dou2.gif)
具体产品(Concrete Product)角色:这个角色实现了抽象产品角色所定义
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699yi.gif)
![](/icons/70699yi.gif)
![](/icons/70699dou2.gif)
![](http://www.crazycoder.cn/WebFiles/20098/5607e6d9-9a2b-4315-b975-c3996a2c9179.g<img src='/icons/70699if.gif' />)
3、
![](/icons/70699yi.gif)
![](/icons/70699de.gif)
1 // 产品 Plant接口
2
3 public
![](/icons/70699int.gif)
4
5 //具体产品PlantA
![](/icons/70699dou.gif)
6
7 public
![](/icons/70699class.gif)
8
9 public PlantA
![](/icons/70699kh.gif)
10
11
![](/icons/70699System.gif)
![](/icons/70699int.gif)
12
13 }
14
15 public void doSomething
![](/icons/70699kh.gif)
16
17
![](/icons/70699System.gif)
![](/icons/70699int.gif)
18
19 }
20
21 }
22
23 public
![](/icons/70699class.gif)
24
25 public PlantB
![](/icons/70699kh.gif)
26
27
![](/icons/70699System.gif)
![](/icons/70699int.gif)
28
29 }
30
31 public void doSomething
![](/icons/70699kh.gif)
32
33
![](/icons/70699System.gif)
![](/icons/70699int.gif)
34
35 }
36
37 }
38
39 // 产品 Fruit接口
40
41 public
![](/icons/70699int.gif)
42
43 //具体产品FruitA
![](/icons/70699dou.gif)
44
45 public
![](/icons/70699class.gif)
46
47 public FruitA
![](/icons/70699kh.gif)
48
49
![](/icons/70699System.gif)
![](/icons/70699int.gif)
50
51 }
52
53 public void doSomething
![](/icons/70699kh.gif)
54
55
![](/icons/70699System.gif)
![](/icons/70699int.gif)
56
57 }
58
59 }
60
61 public
![](/icons/70699class.gif)
62
63 public FruitB
![](/icons/70699kh.gif)
64
65
![](/icons/70699System.gif)
![](/icons/70699int.gif)
66
67 }
68
69 public void doSomething
![](/icons/70699kh.gif)
70
71
![](/icons/70699System.gif)
![](/icons/70699int.gif)
72
73 }
74
75 }
76
77 // 抽象工厂思路方法
78
79 public
![](/icons/70699int.gif)
80
81 public Plant createPlant
![](/icons/70699kh.gif)
82
83 public Fruit createFruit
![](/icons/70699kh.gif)
84
85 }
86
87 //具体工厂思路方法
88
89 public
![](/icons/70699class.gif)
90
91 public Plant createPlant
![](/icons/70699kh.gif)
92
93
![](/icons/70699return.gif)
![](/icons/70699new.gif)
![](/icons/70699kh.gif)
94
95 }
96
97 public Fruit createFruit
![](/icons/70699kh.gif)
98
99
![](/icons/70699return.gif)
![](/icons/70699new.gif)
![](/icons/70699kh.gif)
100
101 }
102
103 }
104
105 public
![](/icons/70699class.gif)
106
107 public Plant createPlant
![](/icons/70699kh.gif)
108
109
![](/icons/70699return.gif)
![](/icons/70699new.gif)
![](/icons/70699kh.gif)
110
111 }
112
113 public Fruit createFruit
![](/icons/70699kh.gif)
114
115
![](/icons/70699return.gif)
![](/icons/70699new.gif)
![](/icons/70699kh.gif)
116
117 }
118
119 }
120
121
4、工厂思路方法模式和简单工厂模式
工厂思路方法模式和简单工厂模式再结构上
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
![](/icons/70699de.gif)
![](/icons/70699yi.gif)
![](/icons/70699dou.gif)
![](/icons/70699yi.gif)
![](/icons/70699dou2.gif)
工厂思路方法模式的所以有
![](/icons/70699yi.gif)
![](/icons/70699yinwei.gif)
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
当系统扩展需要添加新
![](/icons/70699de.gif)
![](/icons/70699dou.gif)
![](/icons/70699yi.gif)
![](/icons/70699yi.gif)
![](/icons/70699dou.gif)
![](/icons/70699dou.gif)
![](/icons/70699dou.gif)
![](/icons/70699de.gif)
![](/icons/70699dou2.gif)
![](/icons/70699dou.gif)
![](/icons/70699dou2.gif)
工厂思路方法模式退化后可以演变成简单工厂模式
![](/icons/70699dou2.gif)
最新评论