淺讀《大話設計模式》----------------1、代碼無錯就是優?---簡單工廠模式
淺讀《大話設計模式》----------------1、代碼無錯就是優?---簡單工廠模式
如果說面向對象沒有用,如果爭辯自己當前處理的問題是一個很簡單的問題所以自己不用面向對象的方法來處理。那么,曹操的“喝酒唱歌,人生真爽”到“對酒當歌,人生幾何”就是一個很有針對性很有諷刺意義的例子,這簡直是作者的神來之筆!面向對象的巨大意義:第一、可維護;第二、可復用;第三、可擴展;第四、靈活性好。寫程序的發展:學習了面向對象的分析設計編程思想,開始考慮通過封裝、繼承、多態把程序的耦合度降低;用設計模式使得程序更加的靈活,容易修改,并且易于復用。
其實,從以上這段話,我覺得也說明了設計模式是在面向對象方法基礎之上的,所以首先應該熟練的運用面向對象的基本特征:封裝、繼承和多態!從本章中的計算器程序的例子,我們應該敏感的發現這樣一個問題:無論多么小的程序,都可以用到面向對象!都可以用封裝、繼承、多態!而這個看起來很小很簡單的結論,我這個C++程序員竟然之前還是持否認態度!說實話,當時看到這些,我很震驚!
這其實反映的是軟件設計的需求:一定要降低耦合度,讓其更容易維護更好復用更靈活~!記住了,清晰合理的面向對象,怎么都不過分!
簡單工廠模式:終于由面向對象進入設計模式了!為什么叫簡單工廠模式而不叫工廠模式或者負責工廠模式了?因為這個工廠確實就是一個很簡單的邏輯判斷,一般只需一個switch即可,不過其作用卻也是很好很大的!他負責創建別的類的實例!
簡單工廠的運用:如果將針對從一個父類繼承的多個子類進行不同條件下的實例化和運用等,這個選擇判斷的條件可能比較多,顯示為客戶端代碼顯得冗余,或者那些子類本身就是不希望讓客戶端看到的,此時將這些判斷放到一個統一的工廠里面生產將是一種很好的封裝模式。記住:工廠只要一個,也就是說經常要選擇處理許多同父類對象。一個工廠是只有自己的一個產品線的,要生產本質差別不大但是種類繁多的產品的工廠才有意義!內部并非要進行很多很多復雜的加工處理才能形成產品,相反,應該是簡單處理就能得到產品,這才是簡單工廠模式。也就是說:是很簡單的處理最終得到某種產品,甚至都不負責產品出廠后的維護工作。畢竟,他的定位只是一個小作坊:用面向對象的思想,一個類實現一個函數的功能!
posted on 2009-03-29 21:46 Tim 閱讀(1079) 評論(1) 編輯 收藏 引用 所屬分類: 設計模式