一些主要的軟體設計原則

2021-08-31 06:33:27 字數 681 閱讀 7491

一,開閉關法則:就是對於擴充套件要開放,對於修改要關閉,什麼意思呢?就是說你的軟體架構如果功能發生了變化,你應該是想著去擴充套件原來的類,而不是去修改原來的類,因為萬一你修改了這個類,那麼又有上萬個類與這個類有著聯絡,那麼你就要去改寫上萬個類了,所以,我們應該是去主動的擴充套件某個類,而不是去修改那個類,這個法則也是其他法則的基礎

二。最少知道原則:就是說乙個類a如果依賴於另乙個類b,這個時候類b的乙個方法要又依賴於c類,那麼這個類c,就應該放在類b中,就不應該放在類a中。另外還有就是乙個類應該盡量少的知道其他類的業務規則,換句話說就是乙個類應該盡量要private 和 protected 而少用public

這樣才可以保證別人了解的少。

三。單一職責原則:單一職責原則好處 1.類的複雜性降低。2.複雜性降低了那麼就很明白了乙個程式塊到底是幹什麼的,所以可讀性也就降低了 3.可讀性如果提高了,4.加強了細粒度,就是說每乙個每乙個方法都只負責乙個很小很小的功能,這樣的話,被其他類使用的概率就會很大,這樣的話,就可以提高復用性。那麼可維護性自然也就提高了。單一職責要求對於各個不同的職責要進行不同的介面定義

提高可讀性,提高復用性,降低耦合性,降低複雜度

比如修改使用者資料,你就應該是在乙個介面中定義 updateaddress(),updatepaasord(),updateusername()....等這樣才做到了單一職責

四。

軟體設計的一些思考

軟體設計的一些思考 從事軟體開發工作已經五年了,仔細想想,雖然做了不少專案,但是在軟體技術上,感覺始終還是進步甚微,一方面和公司的情況有關,一方面,我想,也是自己個人總結和思考不夠吧。所以,慢慢的,還是有必要對自己的一些經驗做思考和總結。為什麼只談軟體設計,不談軟體開發呢,軟體開發涉及的不僅僅是設計...

軟體設計的一些感想

已經好久沒有寫部落格了,不是因為沒有學東西,而是因為學的東西不夠系統,不夠具體,沒有整理起來 外加人懶 所以不想浪費筆墨。所以一直潛水。但總會有感想的,在學習的過程中,時常會遇到一些令人驚喜的東西,令人拍案叫絕的東西,但學會之後覺得簡單或者不值一提,於是沒有當機立斷寫出一些洞見。事後用的時候倒覺得理...

軟體設計原則

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