軟體設計原則(Principles)

啊哈徐發表於2023-02-26

設計模式的從許多優秀的軟體中總結出來的 , 使用設計模式能夠實現可複用、可維護、開發人員之間方便溝通設計和理解程式碼。
Tips

  • 對於模式的使用 , 不能拘泥於格式 , 事實上根據需要模式是可以演化的
  • 另外要適可而止 , 比如一個簡單的方法就能搞定的事情 , 就沒有必要濫用設計模式了

設計原則


物件導向設計原則 (SOLID)

  • 單一職責原則 (Single Responsibility Principle SRP):一個物件應該只包含單一的職責 ,並且該職責被完整的包括在一個類中;或者這樣描述:一個類應該有且僅有一個引起變化的因素
  • 開閉原則 (Open Closed Principle ,OCP):它指出軟體實體(類、模組、函式等)應該對擴充套件開放,對修改關閉。這意味著您可以在不更改其現有程式碼的情況下向軟體實體新增新功能或行為
  • 里氏替換原則 (Liskov Substitution Principle ,LSP):它指出子類應該能夠在不影響程式功能的情況下替換其超類, 這意味著子類不應違反其超類的任何約定或期望
  • 介面隔離原則 (Interface Segregation Principle ,ISP):不應強制任何程式碼依賴於它不使用的方法, 這可以透過使軟體更加模組化和獨立來減少副作用和所需更改的頻率。
  • 依賴倒置原則 (Dependence Inversion Principle ,DIP):它指出高階模組應該依賴於抽象而不是具體的實現 , 這有助於解耦高層和低層模組,更容易更改低層模組而不影響高層模組

另外兩個物件導向設計原則

  • 合成複用原則(Composite Reuse Principle ,ISP ): 優先使用物件組合 , 而不是繼承來到達複用目的
  • 迪米特法則 (Law of Demeter ,LoD):旨在減少物件之間的耦合。它指出一個物件應該只與靠近它的物件互動,例如它自己、它的引數、它的區域性變數等,它還指出一個物件不應該知道其他物件的內部細節

其他設計原則

  • 不要重複原則 (DRY:Don't Repeat Yourself):是指程式設計過程中不寫重複程式碼,將能夠公共的部分抽象出來
  • 保持簡單原則 (KISS:keep it simple):簡單應該是設計的目標之一,應該避免不必要的複雜性 。KISS 原則這個術語是美國海軍於 1960 年創造的,它可以應用於介面設計、產品設計、軟體開發等各個學科
  • 用不上原則? (YAGNI:You Ain’t Gonna Need It):它指出程式設計師在認為必要之前不應新增功能, 這個想法是為了避免在將來可能不會使用或不需要的功能上浪費時間和資源。

相關文章