前言
兩個月前寫過一次設(shè)計模式系列,但很不滿意就刪除了。顯然希望能做到學以致用,而非看書總結(jié),設(shè)計模式絕對是你解決問題的一個思路,但在這有點自己的小建議,設(shè)計模式
并不是用作提高你代碼的效率,用它的目的只是讓你的代碼看起來更規(guī)范,更易擴展與維護。所以有的時候你站在你自身需要去選擇要不要使用設(shè)計模式。上周工作當中有一個需求
正好是適合用工廠模式來解決的,所以就在這給大家討論討論工廠模式吧。
1.簡單工廠模式
在工廠模式中,我們在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象。
比如說,我要給其他終端提供保存實例的接口,但是實例卻用很多個,這時提供的接口,如果每個實例都提供一邊,就會變成這樣提供多個端口,如果要增加就要繼續(xù)提供接口,故
此我就想到了用工廠模式。
1.1.簡介:
就好比中午你下樓去吃飯,別人問你干啥去?你說我去吃黃燜雞,我去吃燴面,我去吃肯德基,去吃麻辣燙。。。。這些好像沒錯,但是估計你不會這么回答,你一般都是回答
我去吃飯。這就是工廠模式要走的,具體你要吃什么東西,不用告訴別人,別人問的主題是你去干什么,你告訴他你娶吃飯就行,具體你要吃什么,是你自己的決定,無需說出來。
優(yōu)點: 1、一個調(diào)用者想創(chuàng)建一個對象,只要知道其名稱就可以了。
2、擴展性高,如果想增加一個產(chǎn)品,只要擴展一個工廠類就可以。
3、屏蔽產(chǎn)品的具體實現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。
缺點:每次增加一個產(chǎn)品時,都需要增加一個具體類和對象實現(xiàn)工廠,使得系統(tǒng)中類的個數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復(fù)雜度,同時也增加了系統(tǒng)具體類的依賴。這
并不是什么好事。