軟體設計原則 個人理解

2021-09-26 23:32:35 字數 2262 閱讀 5623

在軟體開發過程中,我們需要遵守很多的規則,來完成程式的編寫。但是在實際開發的過程中,由於需求的不斷迭代,程式功能的不斷完善,**在擴充套件的過程中會遇到瓶頸。

這時候,我們就需要熟知軟體開發過程中的原則,並遵守原則。

下面就軟體開發的六大原則進行闡述個人的理解和看法

顧名思義,這個原則說的就是 「乙個類或乙個方法就只幹一件事」,只承擔乙個責任,即單一職責原則。

這個原則一開始接觸到的話,可能會不知道是什麼含義,為什麼叫黎克特制替換原則。

黎克特制替換原則,其實就是這項原則最早是在2023年,由麻省理工學院的一位姓裡的女士(barbara liskov)提出來的。所以叫黎克特制替換原則。

黎克特制替換原則:子類可以擴充套件父類的功能,但不能改變父類原有的功能

包含下面4層含義:

什麼是依賴倒置原則?

在軟體開發過程中,我們經常會遇到這樣的情況,類a依賴類b,但是隨著業務需求的不斷迭代,擴充套件,我們發現,類b不滿足我們的業務需求

package proxy.code;

/** * hrbp

* * @author created by wanhu 2019-09-08 14:51

*/public inte***ce hrbp

package proxy.code.impl;

import proxy.code.hrbp;

/** * 運營hrbp

* * @author created by wanhu 2019-09-08 14:57

*/public class operationhrbp implements hrbp

}

package proxy.code.impl;

import proxy.code.hrbp;

/** * 技術的hrbp

* * @author created by wanhu 2019-09-08 14:55

*/public class technologyhrbp implements hrbp

}

package proxy.code;

import proxy.code.impl.technologyhrbp;

/** * 老闆

* * @author created by wanhu 2019-09-08 14:58

*/public class boss

public boss(hrbp hrbp)

/*** 老闆想要招聘的人

*/public void bosswant()

public static void main(string args)

}

上面的例子,其實是個**模式的例子。但是確能很好的解釋依賴倒置原則

依賴倒置的核心,其實是面向介面程式設計,這個例子形象的展示了面向介面程式設計

什麼是介面隔離原則?

介面隔離,即建立單一介面,不要建立龐大臃腫的介面,盡量細化介面,介面中的方法盡量少。也就是說,我們要為各個類建立專用的介面。

什麼是迪公尺特法則?

迪公尺特法則又叫最少知道原則。即降低類與類之間的耦合,乙個類只做與自己相關的事情。

什麼是開閉原則?

對擴充套件開放,對修改關閉。

在實際開發過程中,當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的**來實現變化。

這個原則真是很難把握。我是這麼理解的,在實際開發的過程中,我們確實是會遇到很多需要修改原有**的地方。

以下場景肯定是大家都遇到過的

1、修改一處**,影響一大片

2、修改一處**,要全流程回歸測試

這樣的**維護的成本真的是很高。但是一般情況下,這樣的**的出現都是因為在當初設計的時候沒有抽象,沒有設計好導致的。

因此,要處理好"開閉原則"的前提是要理解設計模式,在這基礎之上,才能知道如何去設計,以後怎麼擴充套件

上述的六個原則,個人理解總結如下

所以,在這過程中,對業務的理解會影響設計的好壞,設計的好壞決定著後續業務的擴充套件。擴充套件的同時還要遵守設計的6大原則,遵守原則的前提是要理解設計模式,可能理解了設計模式,發現都是組合使用的。都是互相影響,互相作用的。

參考文章:

可能我撞了南牆才會回頭吧,可能我見了黃河才會死心吧~~

so,別打擾我,我想靜靜、

軟體設計原則

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

軟體設計原則

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

軟體設計原則

軟體開發中有以下一些基本原則,深刻掌握這些原則比掌握一門技術要重要。1.開閉原則 open closed principle,ocp 乙個軟體應當對擴充套件開放,對修改關閉。也就是說我們在設計軟體時,應當可以在不必修改源 的情況下改變 擴充套件 其行為。開閉原則是非常重要的設計原則,其它的設計原則實...