乙個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉。用抽象構建框架,用實現擴充套件細節
優點:提高軟體系統的可復用性及可維護性
乙個類、介面、方法只負責一項職責
不要存在多於乙個導致類變更的原因
優點:降低類的複雜度,提高類的可讀性,提高系統的可維護性,降低變更引起的風險
高層模組不應該依賴低層模組具體實現
面向介面程式設計,當實現發生變化時,只需提供新的實現類,不需要修改高層模組**
優點:可以減少類間的耦合性、提高系統穩定性,提高**可讀性和可維護性,可降低修改程式所造成的風險
客戶端不應該依賴它不需要的介面
乙個類對另乙個類的依賴應該建立在最小的(方法最少)介面上
用多個專門的介面,而不是使用(包含很多方法的)單一總介面
優點:符合高內聚、低耦合的設計思想,從而使得類具有很好的可讀性,可擴充套件性和可維護性
乙個物件應該對其他物件保持最少的了解
盡量降低類與類之間的耦合度
盡量不要在方法中引入別的類
優點:降低類之間的耦合
所有引用父類的地方必須能透明地使用其子類的物件
子類可以擴充套件父類的功能,但不要改變父類原有的功能
含義1:子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法
含義2:子類中可以增加自己特有的方法
含義3:當子類的方法過載父類的方法時,方法的前置條件(即方法的輸入)要比父類方法的更寬鬆
含義4:當子類的方法實現父類的方法時(重寫、過載或實現抽象方法),方法的後置條件(即方法的輸出)要比父類的更嚴格或相等。
優點1:約束繼承氾濫,開閉原則的一種體現。
優點2:加強程式的健壯性,同時變更時也可以做到非常好的相容性提高程式的維護性,擴充套件性。降低需求變更時引入的風險
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...