單一原則(SRP): 職責(zé)單一
定義:就一個(gè)類而言求晶,應(yīng)該僅有一個(gè)引起它變化的原因
開閉原則(OCP) : 穩(wěn)定性,安全性
定義:對(duì)于拓展開放,對(duì)于修改關(guān)閉(繼承誓军?策略模式),核心是抽象
應(yīng)該盡量通過拓展的方式來實(shí)現(xiàn)變化疲扎,而不是通過修改已有的代碼來實(shí)現(xiàn)
里式替換原則(LSP) :拓展性更好
定義:所有引用基類的地方必須能透明地使用其子類的對(duì)象(繼承昵时,多態(tài))
通俗點(diǎn)就是 只要父類出現(xiàn)的地方子類就 可以出現(xiàn),而且替換為 子類也不會(huì)產(chǎn)生任何異辰飞ィ或者錯(cuò)誤
依賴倒置原則 (DIP):變化
定義:高層模塊不依賴于低層次模塊的實(shí)現(xiàn)細(xì)節(jié)的目的
java表現(xiàn) :模塊間的依賴通過抽象發(fā)生壹甥,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系,其依賴關(guān)系是通過接口或抽象類發(fā)生的
通俗講就是 依賴抽象而不是依賴具體實(shí)現(xiàn)類
接口隔離原則(ISP):更高靈活性
定義:類間的依賴關(guān)系應(yīng)該建立在最小的接口上(細(xì)化壶熏,職責(zé)單一句柠?解耦)
迪米特原則(LOD) :拓展性更好
定義:一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的了解(隱藏細(xì)節(jié),只關(guān)注需要關(guān)注的)