一、依賴倒置:基於接口的編程模式
1. 高層模塊不應該依賴於低層模塊,二者都應該依賴於抽象
2. 抽象不依賴細節,細節依賴抽象
3. 低層模塊替換修改不影響高層
二、里氏替換:子類替換父類–重寫父類方法
繼承重寫不會出現其他地方的運行錯誤,還能起到替換作用
三、接口分隔:
最小接口原則,分功能設計,避免子類實現不必要的方法
四、最少知道原則:
1. 一個類一個職責,需要修改的理由只有一個
2. 減少實體之間的關聯,讓其相對獨立。會被不同需求的對象調用,其中一個職責改變影響其他無關該職責的類的改變。
五、開閉原則:
在不修改原來的模塊(修改關閉)的情況下擴展(擴展開發)
六、合成與複用原則
儘量合成、聚合,不使用繼承