單一職責(zé)原則(SRP)
就一個(gè)類而言,應(yīng)該只有一個(gè)引起變化的原因
如果你能想到多余一個(gè)的動(dòng)機(jī)去改變一個(gè)類,
那么這個(gè)類就具有多于一個(gè)的職責(zé)。
開(kāi)放封閉原則(OCP)
對(duì)于擴(kuò)展是開(kāi)放的
對(duì)于更改是封閉的
Liskov替換原則(LSP)
子類型(subtype)必須能夠替換掉它們的基類型(base type)
依賴倒置原則(DIP)
高層模塊不應(yīng)該依賴于底層模塊。二者都應(yīng)該依賴于抽象
抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象。
任何變量都不應(yīng)該持有一個(gè)指向具體的指針或引用
任何類都不應(yīng)該從具體類派生
任何方法都不應(yīng)該覆寫他的任何基類中的已經(jīng)實(shí)現(xiàn)了的方法
接口隔離原則(ISP)
不應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法