面向對象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

    • 又稱最少知識原則

    • 核心思想:一個對象應當對其他對象有盡可能少的了解,不和陌生人說話

    • 降低各個對象之間的耦合,提高系統的可維護性


  • 免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM