1. 單一原則
一個(gè)類或者一個(gè)接口只負(fù)責(zé)一件事,盡量設(shè)計(jì)功能單一的接口。
2. 開(kāi)閉原則
程序?qū)ν鈹U(kuò)展開(kāi)放,修改關(guān)閉。換句話說(shuō)就是我們?cè)谔砑有碌男枨髸r(shí),我們需要增加新的類或者新模塊,而不是對(duì)在原有類的基礎(chǔ)上修改源代碼。
3. 依賴倒置原則
高層模塊(接口)不依賴于底層模塊(實(shí)現(xiàn)類)的具體實(shí)現(xiàn),接口高層和底層,說(shuō)白了,就是面向接口編程,當(dāng)有新需求時(shí),我們只需要提供新的實(shí)現(xiàn)類,不需要修改接口層代碼。
4. 迪米特法則
一個(gè)類對(duì)其他類應(yīng)該保持最少的了解,盡量降低類與類之間的耦合。
5. 里式替換原則
所有引用基類的地方都能透明的使用子類的對(duì)象。
6. 接口隔離原則
客戶端不應(yīng)該實(shí)現(xiàn)不需要的接口,一個(gè)類對(duì)另一個(gè)類應(yīng)該建立在最小的接口之上。