工廠模式有那幾種,
各模式的弊端和優(yōu)越性
1. 簡(jiǎn)單工廠模式

在新加一個(gè)product時(shí),需要新家一個(gè)繼承IProduct的產(chǎn)品類,并且去修改Factory類里創(chuàng)建對(duì)象的邏輯,加一個(gè)case語句,修改的是工廠類,上層客戶端是不需要修改的。只需要針對(duì)新產(chǎn)品調(diào)用工廠類的創(chuàng)建方法創(chuàng)建新產(chǎn)品就可以了
優(yōu)點(diǎn):工廠中包含了必要的邏輯判斷,根據(jù)客戶端選擇條件動(dòng)態(tài)實(shí)例化相關(guān)的類,在客戶端來說去除了與具體產(chǎn)品的依賴。
缺點(diǎn):1.違背了開放-封閉原則,每次添加新產(chǎn)品時(shí)需要在工廠類中加一個(gè)邏輯判斷。把邏輯引入到更上層的客戶端。
- 在調(diào)用工廠類方法創(chuàng)建了好幾個(gè)對(duì)象時(shí),需要修改對(duì)象類型時(shí),需要修改多處代碼

2.工廠方法模式

與簡(jiǎn)單工廠相比,多了一個(gè)工廠的抽象類,各種工廠繼承這個(gè)抽象類,實(shí)現(xiàn)接口。客戶端使用對(duì)象時(shí),根據(jù)自己的需求調(diào)用不同的工廠類進(jìn)行創(chuàng)建對(duì)象。
優(yōu)點(diǎn):添加新產(chǎn)品時(shí),整個(gè)工廠和產(chǎn)品體系沒有做修改,只是進(jìn)行了一些擴(kuò)展
要修改產(chǎn)品類型時(shí),只需要修改一處就可以了

缺點(diǎn):每加一個(gè)產(chǎn)品不單要加產(chǎn)品類,還需要加一個(gè)產(chǎn)品工廠的類
3. 抽象工廠模式

抽象工廠模式提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無需制定她們的具體的類
為了創(chuàng)建不同的產(chǎn)品對(duì)象,客戶端需要?jiǎng)?chuàng)建不同的產(chǎn)品工廠