《java與模式》-3 設計原則

開閉原則

1.一個軟件實體應該對擴展開放,對修改關閉

  1. 設計的時候應當使這個模塊可以在不被修改的前提下被擴展。
  2. 對面向對象來說是,不允許修改系統的抽象層,而允許擴展的是系統的實現層。
  3. 就是不修改規則只修改實現

2.解決問題的關鍵在與抽象化

  1. 需要給系統定義一個一勞永逸,不再修改的抽象設計
  2. 允許無窮無盡的行爲在實現層被實現

3.對可變性的封裝原則

  • 找一個系統的可變因素將其封裝起來
    1. 一種可變性不應散落在代碼的很多角落
    2. 一種可變性不應與另一種可變性混合在一起

里氏代換原則

  • 任何基類可以出現的地方子類一定可以出現

依賴倒轉原則

  • 要依賴於抽象不能依賴於實現

組合/聚合複用原則

  • 儘量使用合成/聚合而不是使用繼承關係達到複用的目的
  • 該原則就是在一個新的對象裏面使用一些已有的對象,使之成爲新對象的一部分:新的對象通過向這些對象的委派達到複用已有功能的目的。

迪米特法則

  • 一個軟件實體應當與儘可能少的其它實體發生相互作用

接口隔離原則

  • 應當爲客戶端提供儘可能的單獨接口,而不要提供大的總接口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章