單一職責原則,srp: 功能職責單一, 只能擁抱一種變化。
黎克特制替換原則,lsp: 所有在使用父類的情況,都可以用子類替換。 繼承的子類不能改動父類已實現的功能。
依賴倒置原則,dip: 高層通過抽象依賴低層,細節應該依賴抽象,抽象不應該依賴於細節。
介面隔離原則,sip: 從某種程度上看,介面隔離原則就是介面版的單一職責原則。客戶端不應該依賴它不需要的介面。使用多個專門的介面比使用單一的總介面要好。
迪公尺特原則,lod: 也稱最少知識原則。
只和朋友交流(直接的朋友): 朋友的定義, 出現在成員變數、方法的輸入輸出引數中的類。 方法體中的不算。 即方法體中盡量不要出現非朋友類。
朋友之間也有間隔:過於親密,耦合就變得異常牢固。判斷一下是否可以減少public方法和屬性,改為private、package-private、protected訪問許可權,及是否可以加上final關鍵字。
實踐:類設計上,降低類和成員的訪問許可權, 只要可能,設計成不變類。
謹慎使用序列號(類在客戶端變更,卻未在服務端同步更細,會引起反序列化失敗)。
不暴露類成員,而是提供訪問器。
開閉原則,ocp: 軟體實體如類、模組和函式,對擴充套件開放,對修改關閉。
介面層面的修改: 方法引數避免基本型別, 基本型別導致介面的不穩定。
具體實現的修改: 類的封裝內容盡量保證不變。
擴充套件: 通過多型進行擴充套件
軟體設計六大原則
單一職責原則 可以降低類的複雜度,乙個類只負責一項職責,其邏輯肯定要比負責多項職責簡單的多 提高類的可讀性,提高系統的可維護性 變更引起的風險降低,變更是必然的,如果單一職責原則遵守的好,當修改乙個功能時,可以顯著降低對其他功能的影響。黎克特制替換原則 子類可以實現父類的抽象方法,但不能覆蓋父類的非...
軟體設計中的六大原則 開閉原則
設計模式六大原則 單一職責原則 設計模式六大原則 介面隔離原則 設計模式六大原則 依賴倒置原則 設計模式六大原則 黎克特制替換原則 設計模式六大原則 迪公尺特法則 設計模式六大原則 開閉原則 設計模式六大原則 開閉原則開閉原則 open close principle software entiti...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...