軟體設計原則

2021-06-28 19:14:21 字數 841 閱讀 3653

軟體開發中有以下一些基本原則,深刻掌握這些原則比掌握一門技術要重要。

1.開閉原則(open-closed principle, ocp):乙個軟體應當對擴充套件開放,對修改關閉。也就是說我們在設計軟體時,應當可以在不必修改源**的情況下改變(擴充套件)其行為。開閉原則是非常重要的設計原則,其它的設計原則實際上是開閉原則的手段和工具,是附屬於開閉原則的。

2.黎克特制代換原則(liskov substitution principle, lsp):適用於基類的地方,一定適用於其子類。黎克特制代換原則是繼承復用的基石。

3.依賴倒轉原則(dependency inversion principle, dip):要依賴於抽象,不要依賴於具體。因為抽象是戰略性的、必然的、巨集觀的,而實現是戰術性的、偶然的、微觀的。 

4.介面隔離原則(inte***ce segregation principle, isp):使用多個專門的介面比使用乙個總結口要好。每乙個介面都代表乙個角色,不應當將幾個不同的角色都交給同乙個介面,而應當交給不同的介面。

5.組合/聚合復用原則(composition/aggregation reuse principle, carp):要盡量使用組合/聚合,盡量不要使用繼承來實現復用。這主要是因為繼承復用破壞封裝,繼承將超類的實現細節暴露給子類,這種復用是透明的復用,是「白箱」復用。同時如果超類的實現發生了變化,將波及到子類。

6.迪公尺特法則(law of demeter, lod):又叫最少知識原則(least knowledge principle, lkp),它說的是,乙個物件應當對其它物件盡可能少的了解。也就是說,如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三者**這個呼叫。

軟體設計原則

開閉原則 ocp 軟體設計的最大原則 這個原則說的是 對擴充套件開放,對修改關閉。其實意思是說,給系統新增新的功能,但不修改原有 如果能做到呢,關鍵在於抽象化,也就是封裝變化,抽象層不變,讓具體實現依賴抽象隨需求變化。使得系統具有很強的擴充套件性和可維護性。黎克特制代換原則 任何基類可以出現的地方,...

軟體設計原則

高內聚 低耦合 乙個軟體系統要有乙個穩定的架構,不會隨需求的改變而發生巨大的變動。因此,高內聚 低耦合是乙個軟體系統設計中必須遵循的基本原則 面向抽象程式設計 在面向過程的軟體開發中,上層元件呼叫下層元件,就意味著上層元件依賴於下層元件,當下層元件發生劇烈變化時,上層元件也要跟著一起發生變動,這將導...

軟體設計 原則

約束是強加給我們的 而原則是我們為了標準化和一致性而採用的 編碼標準和規範 自動化單元測試 靜態分析工具 等等 分層策略 業務邏輯的位置 高內聚 低耦合 solid 無狀態元件 儲存過程 域模型。http會話的使用 始終一致和最終一致 如果你經常構建大型企業軟體系統,那麼你可能考慮過上述的這些原則,...