概念:設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。 以下是對上面有下劃線的關鍵字的通俗解釋: 優點: 設計模式可以幫助我們改良項目的代碼,增強代碼的健壯性、可擴展性,為以後開發和維護鋪平道路。有過開發經驗的人都知道一個項目的代碼設計好壞對之後開發的影響,特別是從事維護 ...
概念:設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。
以下是對上面有下劃線的關鍵字的通俗解釋:
- 反覆使用:在實際的開發中被使用的次數太多了,比如:單例模式、外觀模式、工廠模式等
- 多數人知曉:作為一個程式員即使沒看過相關書籍不瞭解所有設計模式的具體內容也會知道一些非常常見的幾種設計模式,而且有些設計模式即使你不知道,在日常的代碼開發中也會使用。
- 分類編目:就是說可以找到一些特征去劃分這些設計模式,從而進行分類。
- 代碼設計經驗:代碼寫多了,就會積累代碼設計的經驗,設計模式就是從這些經驗中總結出來的用來解決一些特定場景中的問題的方法。
優點:
設計模式可以幫助我們改良項目的代碼,增強代碼的健壯性、可擴展性,為以後開發和維護鋪平道路。有過開發經驗的人都知道一個項目的代碼設計好壞對之後開發的影響,特別是從事維護項目工作的人應該有更深的體會(雖然我並未從事過維護= 。=),可以想象當一個看起來很簡單的需求,但是由於項目設計問題,並沒有考慮到這個需求的變更時或則由於需求不斷變更導致代碼變得臃腫,而導致當你修改其中一處可能導致其他功能出現異常,加深了維護代碼的難度,這是一個非常嚴重的後果。
註意點:
設計模式是可以改善項目的設計,但過多的使用甚至濫用將會導致項目變得複雜,難以讀懂。所以當我們第一次設計一個系統時,請將你確定的變化點處理掉,不確定的變化點千萬不要假設它存在,如果你曾經這麼做過,那麼請改變你的思維,讓這些虛無的變化點在你腦子中徹底消失。因為我們完全可以使用另外一種方法來處理那些不確定的變化點,那就是重構。至於重構等討論完設計模式後再進行探討。