單一職責原則指的是乙個類只負責一項職責,這樣做的優點是降低類的複雜度,當需要修改乙個功能時,避免了對其它功能的影響
黎克特制替換原則指的是子類可以在父類的基礎上擴充套件功能,但不能修改父類本身的功能
子類可以新增自己的方法,可以實現父類的抽象方法,但是盡量不要重寫父類的非抽象方法
當子類需要重寫父類的方法時,不要改變方法的用途,不要影響原有的功能,避免**出現問題
依賴倒置原則就是使用介面的多型性,面向介面程式設計
舉個例子飼養員給動物餵食
首先需要乙個動物介面
inte***ce animal
猴子和老虎實現動物介面
class monckey implements animal
}class tigger implements animal
}
飼養員
class people
}
執行
class client
}
結果
給猴子吃香蕉
給老虎吃肉
如果沒有animal介面,飼養員給猴子和老虎餵食時,需要依賴猴子和老虎兩個類
加上animal介面降低了飼養員和動物類之間的耦合,當新增動物類的時候不會對飼養員類造成影響
介面隔離原則是指乙個類對另乙個類的依賴應該建立在最小的介面上
當介面a有5個方法
類b、類c、類d實現介面a,但b只需要a的1、2兩個方法,c只需要3、4、5三個方法,d需要全部5個方法
這時b和c就會多出來自己不需要實現的方法,這是不符合介面隔離原則的
這個時候最好的做法,就是將介面a細分成兩個介面n、m,n有1、2兩個方法,m有3、4、5三個方法
類b實現介面n,類c實現介面m,類d則實現介面n和m
這樣區分為幾個介面,建立最小的依賴關係
迪公尺特法則是指乙個物件對其他物件的了解越少越好,要做到高內聚,低耦合
舉個例子,有老闆、部門、部門員工三個角色,老闆要了解部門員工時,只需要通過部門來了解,將部門作為中介,部門員工有關的業務封裝在部門裡,老闆不直接接觸
開閉原則指的是對擴充套件開放,對修改關閉
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...