在軟體開發過程中,我們需要遵守很多的規則,來完成程式的編寫。但是在實際開發的過程中,由於需求的不斷迭代,程式功能的不斷完善,**在擴充套件的過程中會遇到瓶頸。
這時候,我們就需要熟知軟體開發過程中的原則,並遵守原則。
下面就軟體開發的六大原則進行闡述個人的理解和看法
顧名思義,這個原則說的就是 「乙個類或乙個方法就只幹一件事」,只承擔乙個責任,即單一職責原則。
這個原則一開始接觸到的話,可能會不知道是什麼含義,為什麼叫黎克特制替換原則。
黎克特制替換原則,其實就是這項原則最早是在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 乙個軟體應當對擴充套件開放,對修改關閉。也就是說我們在設計軟體時,應當可以在不必修改源 的情況下改變 擴充套件 其行為。開閉原則是非常重要的設計原則,其它的設計原則實...