淺讀《大話設(shè)計模式》————8、雷鋒依然在人間——工廠方法模式
簡單工廠模式、工廠方法模式,這兩者的區(qū)別我想顧名思義!前者講的是這個模式用到一個簡單工廠,但是后者強(qiáng)調(diào)的是工廠方法,其實意思就是該模式中工廠設(shè)計很重要。
其實理解了簡單工廠,基本上只要再稍微看一下工廠模式的設(shè)計,就很容易理解這兩個模式。不過,似乎工廠方法模式是簡單工廠模式的改進(jìn)版,簡單工廠沒有存在的必要。但是事實并非如此,在擴(kuò)展不經(jīng)常的時候,一個簡單工廠就可以了。但是要是經(jīng)常有相似功能的擴(kuò)展需求,那么工廠方法模式就要有價值一些。
在代碼形式上,簡單工廠模式的最大優(yōu)點在于工廠類中包含了必要的邏輯判斷,根據(jù)客戶端的選擇條件動態(tài)實例化相關(guān)的類,對于客戶端來說,去除了與具體產(chǎn)品的依賴。但是,工廠方法是把簡單工廠的內(nèi)部邏輯判斷移到了客戶端代碼來進(jìn)行。所以,想要增加功能,就同時需要修改客戶端代碼。但是這樣代碼結(jié)構(gòu)還是很清晰的,所以兩者各有千秋!