設計模式原則有七種:單一職責原則、開閉原則、黎克特制代換原則、依賴倒轉原則、介面隔離原則、合成復用原則、迪公尺特法則。
單一職責原則(srp):
定義:乙個物件應只包含單一的職責,並且該職責完全被封裝在乙個類中。
分析:1、單一原則是實現高內聚、低耦合的指導方針。
2、乙個類承擔的職責越多它被復用的可能性越小。
開閉原則(ocp):
定義:乙個軟體應該對拓展開放、對修改關閉。
黎克特制代換原則(lsp):
定義:所有應用基類的地方必須能透明地使用子類物件。
依賴倒轉原則(dip):
定義:針對介面程式設計、不針對實現程式設計。
分析:1、**要依賴抽象的類、而不是依賴實體類
2、如果開閉原則是物件導向設計的目標的話,那麼依賴倒轉原則就是物件導向設計的主要手段。
介面隔離原則(isp):
定義:1、客戶端不應該依賴那些不需要的介面
2、一旦乙個介面太大,則需要將它分割成一些更細小的介面,使用該介面的客戶端僅需知道與之相關的介面即可
合成復用原則(crp):
定義:盡量使用物件組合,而不是繼承來達到復用的目的
分析:在乙個物件裡通過關聯(包括組合關係和聚合關係)來使用一些已有的物件使之成為新物件的一部分;簡言之:多用組合/聚合關係,少用繼承
2、繼承復用:實現簡單,易於擴充套件;沒有足夠的靈活性
組合/聚合復用:耦合度低,選擇性地呼叫成員物件的操作;可在執行時動態進行。
迪公尺特法則(lod):
定義:1、不要和陌生人說話;2、至於你的直接朋友通訊 ;
分析:乙個軟體實體應當盡可能少的與其他實體發生作用。
設計模式 設計模式原則
1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...
設計模式 設計原則
1.單一職責原則 single responsibility principle,簡稱srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到...
設計模式 設計原則
description 這是本人學習 設計模式之禪 的筆記 設計原則 一 單一職責 應該有且僅有乙個原因讓乙個類發生變更。這個原則目的是要讓介面的職責分明,結構清晰。優點 類的複雜度降低,可讀性提高,變更風險低,可維護性提高。二 黎克特制替換 通俗一點就是父類存在的地方,可以替換為子類,而程式的行為...