設計模式六大原則(6):開閉原則

洋洋灑灑數千言,至於就是最後的絕招了,也是最後一招心法了,其實這招心法就是前面幾招心法的彙總,就像降龍十八掌最後三掌一樣,蓄力而發。

什麼是開閉原則?

定義:一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。
通俗的講:就是說,我們在軟件開發完成後,整個系統對修改關閉,對擴展開放。but現在我做的工作全部是對系統修改開發,對擴展也是開放,整個系統的代碼容量非常大,很是苦惱。

那麼有什麼解決方案呢?

問題由來:在軟件的生命週期內,因爲變化、升級和維護等原因需要對軟件原有代碼進行修改時,可能會給舊代碼中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有代碼經過重新測試。
解決方案:當軟件需要變化時,儘量通過擴展軟件實體的行爲來實現變化,而不是通過修改已有的代碼來實現變化。

總結:

開閉原則是面向對象設計中最基礎的設計原則,它指導我們如何建立穩定靈活的系統。開閉原則可能是設計模式六項原則中定義最模糊的一個了,它只告訴我們對擴展開放,對修改關閉,可是到底如何才能做到對擴展開放,對修改關閉,並沒有明確的告訴我們。以前,如果有人告訴我“你進行設計的時候一定要遵守開閉原則”,我會覺的他什麼都沒說,但貌似又什麼都說了。因爲開閉原則真的太虛了。

就此,我們設計模式六大原則的心法都介紹完結了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章