開閉原則(open close principle)
對擴充套件開放,對修改封閉。
該設計原則要求在程式要進行擴充套件的時候,不去修改原有**,而是通過擴充套件新**來實現。這樣的程式**非常易於維護和公升級。
單一原則
每個類應該實現單一的職責。
如果某類多於乙個職責,就應該對其進行拆分。
黎克特制替換原則(liskov substitution principle)
基類出現的地方,都可以用子類來替換,而程式不會出錯或者異常。
黎克特制替換原則其實是對開封原則的擴充套件。如果子類不能完整地實現父類的方法,或者父類的某些方法在子類中已經發生「畸變」,則建議斷開父子繼承關係,轉而採用依賴、聚合、組合等關係代替繼承。
依賴倒轉原則(dependence inversion principle)
面向介面程式設計,抽象不能依賴於細節,細節能依賴於抽象。
介面隔離原則(inte***ce segregation principle)
每個介面不存在子類用不到卻必須實現的方法,否則就將介面拆分成相互功能隔離的介面。
迪公尺特原則(demeter principle)
乙個類對自己依賴的類知道的越少越好。
合成復用原則(composite reuse principle)
盡量用合成或聚合方式,而不是使用繼承。
參考:
設計模式幾大原則
談到設計模式,不能不說一下grasp 職責分配原則 這個比模式更重要.我將再後邊接著來分析.下面我來分析一下設計模式原則,以及在設計模式中的體現.主要參考 程杰 大話設計模組 這裡用dh代替 和justin tech 的部落格.一 設計模式的核心原則是 開 閉 原則 open closed prin...
設計模式幾大原則
談到設計模式,不能不說一下grasp 職責分配原則 這個比模式更重要.我將再後邊接著來分析.下面我來分析一下設計模式原則,以及在設計模式中的體現.主要參考 程杰 大話設計模組 這裡用dh代替 和justin tech 的部落格.一 設計模式的核心原則是 開 閉 原則 open closed prin...
設計模式的幾大原則
單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到竟想不到的破壞。開放 封閉原則 是說軟體實體 類 模組 函式等等 應該可以擴充套...