法則1:優(yōu)先使用(對象)組合,而非(類)繼承
法則2:針對接口編程,而非(接口的)實(shí)現(xiàn)
法則3:開放-封閉法則(OCP)
法則4:Liskov替換法則(LSP)
Liskov替換法則(LSP)清楚地表明了ISA關(guān)系全部都是與行為有關(guān)的。
為了保持LSP(并與開放-封閉法則一起),所有子類必須符合使用基類的client所期望的行為。
一個子類型不得具有比基類型(base type)更多的限制,可能這對于基類型來說是合法的,但是可能會因?yàn)檫`背子類型的其中一個額外限制,從而違背了LSP!
LSP保證一個子類總是能夠被用在其基類可以出現(xiàn)的地方!