模式(四-1):簡(jiǎn)單工廠(Simple Factory)模式
Posted on 2008-07-22 10:03 sailor 閱讀(169) 評(píng)論(0) 編輯 收藏 所屬分類: 模式一、工廠模式有三種形態(tài)
簡(jiǎn)單工廠(Simple Factory)模式 ,又稱靜態(tài)工廠模式
工廠方法(Factory Method)模式,又稱多形性工廠(Polymorphic Factory)模式
抽象工廠(Abstract Factory)模式,又稱工具箱(Kit或Toolkit)模式
二、簡(jiǎn)單工廠模式
《Head First 設(shè)計(jì)模式》認(rèn)為它不是一個(gè)設(shè)計(jì)模式,更像一種編程習(xí)慣,優(yōu)點(diǎn)是可以將客戶端程序從具體類中解耦,不失為一個(gè)簡(jiǎn)單的方法。
1、定義
簡(jiǎn)單工廠模式是由一個(gè)工廠對(duì)象決定創(chuàng)建出那一種產(chǎn)品類的實(shí)例,它是由一個(gè)工廠類根據(jù)傳入的參量決定創(chuàng)建出哪一種產(chǎn)品類的實(shí)例。
2、角色
簡(jiǎn)單工廠模式涉及到工廠角色、抽象角色以及具體產(chǎn)品角色等
工廠類(Creator)角色:擔(dān)任這個(gè)角色的是工廠方法模式的核心,含有與應(yīng)用緊密相關(guān)的商業(yè)邏輯。工廠類在客戶端的直接調(diào)用下創(chuàng)建產(chǎn)品對(duì)象,它往往由一個(gè)具體的JAVA類實(shí)現(xiàn)。
抽象產(chǎn)品(Product)角色:擔(dān)任這個(gè)角色的類是工廠方法模式所創(chuàng)建的對(duì)象的父類,或他們共同擁有的接口。抽象產(chǎn)品角色可以用一個(gè)java接口或者Java抽象類實(shí)現(xiàn)。
具體產(chǎn)品(Concrete Product)角色:工廠方法模式所創(chuàng)建的任何對(duì)象是這個(gè)角色的實(shí)例,具體產(chǎn)品角色由一個(gè)具體java類實(shí)現(xiàn)。
3、實(shí)例

2

3

4

5

6

7

8

9

10

11

12

13

14

15


2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24


2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20


2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


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
