設計模式學習-設計原則

敖老黑發表於2017-12-21

1、單一職責原則

  • 就一個類而言,應該僅有一個引起它變化的原因

如果一個雷承擔的職責過多,就等於吧這些職責耦合在一起,一個職責的變化可能會小若或者一直這個類完成其它職責的能力,這種耦合會導致脆弱的設計,當需求變化時,可能會導致大面積的破壞

2、開放封閉原則

  • 類、模組、函式等應該可以擴充套件但是不可以修改
  • 對於擴充套件是開放的(open for extension)
  • 對於修改是封閉的(closed for modification)

3、依賴倒轉原則

  • 抽象不應該依賴細節,細節應該依賴於抽象(面向介面,不要面向實現)
  • 高層模組不應該依賴底層模組。都應該依賴抽象

4、裡式代換原則

  • 子型別必須能夠替換掉他們的父型別

5、迪米特法則(最少知識原則)

  • 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接相互作用。如果其中一個類需要呼叫另一個類的某一個方法的話,可以通過第三者轉達這個呼叫
  • 強調類之間鬆耦合,在類的結構設計上每一個類都應該當儘量降低成員訪問許可權
  • 耦合越弱越有利於複用

相關文章