前言

兩個(gè)月前寫過一次設(shè)計(jì)模式系列,但很不滿意就刪除了。顯然希望能做到學(xué)以致用,而非看書總結(jié),設(shè)計(jì)模式絕對是你解決問題的一個(gè)思路,但在這有點(diǎn)自己的小建議,設(shè)計(jì)模式

并不是用作提高你代碼的效率,用它的目的只是讓你的代碼看起來更規(guī)范,更易擴(kuò)展與維護(hù)。所以有的時(shí)候你站在你自身需要去選擇要不要使用設(shè)計(jì)模式。上周工作當(dāng)中有一個(gè)需求

正好是適合用工廠模式來解決的,所以就在這給大家討論討論工廠模式吧。

1.簡單工廠模式

在工廠模式中,我們在創(chuàng)建對象時(shí)不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個(gè)共同的接口來指向新創(chuàng)建的對象。

比如說,我要給其他終端提供保存實(shí)例的接口,但是實(shí)例卻用很多個(gè),這時(shí)提供的接口,如果每個(gè)實(shí)例都提供一邊,就會變成這樣提供多個(gè)端口,如果要增加就要繼續(xù)提供接口,故

此我就想到了用工廠模式。

1.1.簡介:

就好比中午你下樓去吃飯,別人問你干啥去?你說我去吃黃燜雞,我去吃燴面,我去吃肯德基,去吃麻辣燙。。。。這些好像沒錯(cuò),但是估計(jì)你不會這么回答,你一般都是回答

我去吃飯。這就是工廠模式要走的,具體你要吃什么東西,不用告訴別人,別人問的主題是你去干什么,你告訴他你娶吃飯就行,具體你要吃什么,是你自己的決定,無需說出來。

優(yōu)點(diǎn): 1、一個(gè)調(diào)用者想創(chuàng)建一個(gè)對象,只要知道其名稱就可以了。

2、擴(kuò)展性高,如果想增加一個(gè)產(chǎn)品,只要擴(kuò)展一個(gè)工廠類就可以。

3、屏蔽產(chǎn)品的具體實(shí)現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。

缺點(diǎn):每次增加一個(gè)產(chǎn)品時(shí),都需要增加一個(gè)具體類和對象實(shí)現(xiàn)工廠,使得系統(tǒng)中類的個(gè)數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復(fù)雜度,同時(shí)也增加了系統(tǒng)具體類的依賴。這

并不是什么好事。

1.2.實(shí)現(xiàn)(