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