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