[大話設計模式] 重點筆記:基礎原則篇

  • 3278
  • 0
  • 2011-06-29

摘要:[大話設計模式] 重點筆記:基礎原則篇

前言:

在物件導向的學習之路上,我們學習什麼是封裝、繼承、多型,什麼是介面、抽象、泛型、事件與委

託。雖然會的很多,卻不一定代表能用得很好。學習設計模式是一個很好的機會來檢視一下這些「雞

絲」應該如何正確的搭配使用,來幫助我們的程式碼可以達到好維護、易擴展的目標。
 

這麼多設計模式之中,有一些共同需要遵守的原則,在此先整理出來:

單一職責原則

原文:就一個類別而言,應該只有一個引起它變化的原因。

心得:如果一個類別經過分析,有多於一個職責,就應該將其分離出來。

開放封閉原則

原文:軟體的實體(類別、模組、函數等)應該可以擴展,但是不可修改。
(Open for extension, closed for modification)

心得:在設計階段和開發初期,能盡量歸納/預測出可能會發生頻繁變化的種類,然後針對這些變化建立抽象來隔離之,那麼在這之後發生的變化,就能以不更動原程式碼,僅增加新程式碼來因應。

依賴倒轉原則

原文:抽象不應該依賴細節,細節應該依賴於抽象。
高層模組不應依賴低層模組,兩個都應該依賴抽象。

心得:撰寫程式時,針對抽象的類別或是介面來設計,而不是細節。那麼,不論高層模組或底層模組,都能更容易的被替換/複用。