1. 核心思想
- 找出應用中可能需要變化之處射沟,把它們獨立出來盏触,不要和那些不需要變化的代碼混在一起阳惹。
- 針對接口編程租悄,而不是針對實現(xiàn)編程。
- 為了交互對象之間的松耦合設計而努力逻锐。
2. 總結
- 面對對象設計:開閉原則夫晌,依賴倒置原則
- 開閉原則:對擴展開放,對修改關閉
- 依賴倒置:要依賴于抽象昧诱,不要依賴于具體
- 拆分解構:單一職責原則晓淀,接口隔離原則
- 單一職責(對業(yè)務):一個類,只有一個引起它變化的原因盏档。應該只有一個職責
- 接口隔離(對架構):一個類對另一個類的依賴應該建立在最小的接口上
- 類之間的通信:合成復用原則凶掰,里氏替換原則,迪米特法則
- 合成復用:盡量使用組合/聚合關系蜈亩,少用繼承
- 里氏替換:任何基類可以出現(xiàn)的地方懦窘,子類一定可以出現(xiàn)
- 迪米特法則(最少知識原則):一個類對其他類知道的越少越好