面向對象設計的目標之一就是可維護性複用。包括:
1、設計方案和代碼的複用
2、系統要易於擴展和修改
面向對象的設計原則就可以作爲上述目標的指導方針,這些原則蘊含在很多的設計模式中,是前輩們從許多的設計方案中總結出來的指導性原則。
最常用的7種設計原則:
- 單一職責原則(Single Responsibility Principle, SRP):一個類只負責一個功能領域中的相應職責
- 開閉原則(Open-Closed Principle, OCP):軟件實體應對擴展開放,對修改關閉
- 里氏替換原則(Liskov Substitution Principle, LSP):所有引用基類的地方都可以透明的使用字類代替。
- 依賴倒置原則(Dependence Inversion Principle, DIP):抽象不應該依賴於細節,細節應該依賴於抽象
- 接口隔離原則(Interface Segregation Principle, ISP):使用多個專門的接口,而不是一個單一的總接口
- 合成複用原則(Composite Reuse Principle, CRP):儘量使用對象組合,而不是使用繼承來達到複用的目的。組合大於繼承。
- 迪米特法則(Law of Demeter, LoD):一個軟件實體應該儘可能少的與其它軟件實體發生相互作用。
以上設計原則,如果你的項目中有真真切切的落實幾個,那麼你的代碼的可擴展性和可維護性都將會有很大的提高。
如果您覺得這篇文章有幫助到你,歡迎推薦,也歡迎關注我的公衆號。
參考資料: