1.單一職責原則(single responsibility principle,srp):就乙個類而言,應該僅有乙個引起它變化的原因。
如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭到意想不到的破壞。
判斷是否應該分離出類來,就是如果你能夠想到多餘乙個的動機去改變乙個類,那麼這個類就具有多餘乙個的職責。
2.開放-封閉原則(open-closed principle,ocp):是說軟體實體(類,模組,方法等等)應該可以擴充套件,但是不可修改。
對於擴充套件是開放的,對於更改是封閉的。
3.依賴倒轉原則(dependence inversion principle,dip):高層模組不應該依賴底層模組,兩個都應該依賴抽象;抽象不應該依賴細節,細節應該依賴抽象。
針對介面程式設計,不要對實現程式設計。
4.黎克特制代換原則(liskov substitution principle,lsp):子型別必須能夠替換掉它們的父型別。
只有當子類可以替換掉父類,軟體單位的功能不受到影響時,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為。
5.迪公尺特法則(law of demeter,lod):如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以呼叫第三者**這個呼叫。
該法則強調類之間的松耦合。類之間的耦合越弱,越有利於復用,乙個處在弱耦合的類被修改,不會對有關係的類造成波及。
6.介面隔離原則(inte***ce segregation principle,isp):使用多個專門的介面,而不使用單一的總介面
7.合成復用原則(composite reuse principle,crp):盡量使用物件組合,而不是繼承來達到復用的目的。
設計模式 設計模式原則
1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...
設計模式 設計原則
1.單一職責原則 single responsibility principle,簡稱srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到...
設計模式 設計原則
description 這是本人學習 設計模式之禪 的筆記 設計原則 一 單一職責 應該有且僅有乙個原因讓乙個類發生變更。這個原則目的是要讓介面的職責分明,結構清晰。優點 類的複雜度降低,可讀性提高,變更風險低,可維護性提高。二 黎克特制替換 通俗一點就是父類存在的地方,可以替換為子類,而程式的行為...