設計模式=要解決問題+思想+打法

quguiliang 13年前發布 | 2K 次閱讀
設計模式=要解決問題+思想+打法


我們很多情況下,在以OO思想思考問題時候不得不考慮:

1、要解決問題:

怎么實現架構的高內聚低耦合

考慮權重:代碼復用+可擴展+可維護性

結合現實情況,對需求進行評估,對代碼架構進行分析。


2、思想

思想 = 原則:
比如開閉,職責單一,依賴倒轉,里氏替換,迪米特。


對變化的理解:

變化始終存在,無論模塊多么封閉,都不可能完全封閉。設計人員必須對于他設計的模塊應該對哪種變化封閉做出選擇,必須先猜出最有可能發生變化的種類,然后構造抽離這些變化。

面對需求,對程序的改動是通過增加新的代碼進行的,而不是更改現有的代碼。

最初編寫代碼時候,假設變化不會發生,當變化發生時,我們就該抽象來隔離以后發生同樣的變化。(重構)

拒絕不成熟抽象和抽象本身一樣重要。

高手是用同樣代價獲得最大收益或者最小代價獲得同樣收益

3、打法

很多時候,思想對了,往往方針落不了地或者有問題,關鍵還是經驗不足。

這也是最核心一步內容,沒有coding經驗的,代碼駕馭能力很弱。

我們在學習到第三步,打法時候,真正才能體驗效果。前面2點,都是理論,說白了都是銀槍醋蠟,忽悠。。。


檢驗了你打法就是實踐
 本文由用戶 quguiliang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!