乙個類最好只做一件事。
這個在實現中盡量遵守,但有時候也很難遵守,因為會存在職責擴充套件,強制遵守這一原則改動成本可能會很大。
子類可以擴充套件父類的功能,但不要改變父類的功能。
高層應該依賴底層模組的抽象,而不是依賴底層模組的具體,即面向介面程式設計。
在實際程式設計中,我們一般要做到如下3點:
1).低層模組盡量都要有抽象類或者介面
2).變數的宣告型別盡量是抽象類或者介面
3).使用繼承時要遵循黎克特制替換原則
盡量細化介面,即介面拆分要合理,不要把所有功能都放在乙個介面裡,這樣會導致需要依賴此介面的類要實現很多自己不需要的方法。
乙個類對它依賴的類知道的越少越好。也就是說,對於被依賴的類,應該當複雜的邏輯都封裝在類的內部,對外除了提供public方法,不對外洩露任何資訊。
即類與依賴的類之間,應該只存在方法呼叫關係,而不應該大量存在對依賴的類做業務邏輯處理。
對擴充套件開放,對修改關閉。
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...