備案號:遼ICP備19007957號-1
聆聽您的聲音:feedback@highmark.com.cn企業(yè)熱線:400-778-8318
Copyright ?2015- 海馬課堂網(wǎng)絡(luò)科技(大連)有限公司辦公地址:遼寧省大連市高新技術(shù)產(chǎn)業(yè)園區(qū)火炬路32A號創(chuàng)業(yè)大廈A座18層1801室
軟件設(shè)計原則是開發(fā)人員在開發(fā)軟件時應(yīng)遵循的準(zhǔn)則,以創(chuàng)建清晰和可維護(hù)的代碼。它是由許多知名的行業(yè)專家和作者推薦的一套技術(shù)和最佳實踐。在這篇文章中,我們將討論質(zhì)量編碼的基本軟件設(shè)計原則,這些原則將幫助你創(chuàng)建高質(zhì)量的軟件。

你知道嗎,你在開發(fā)軟件時,有20%到40%的時間是在寫代碼?其余的時間你在閱讀代碼和維護(hù)系統(tǒng)。這就是為什么創(chuàng)建一個好的系統(tǒng)設(shè)計是如此重要。一個好的系統(tǒng)需要一個好的代碼庫,易于閱讀、理解、維護(hù)(增加/改變功能、修復(fù)錯誤)和在未來擴展。這樣可以節(jié)省時間和資源,同時提高工作滿意度。
計算機程序中的每個模塊、類或函數(shù)都應(yīng)該負(fù)責(zé)一個功能。它們也應(yīng)該包括這一部分,而且它們的服務(wù)應(yīng)該狹義地集中在這個責(zé)任上。
SRP與 "鏈接"(低)和 "內(nèi)聚"(高)的概念密切相關(guān)。SRP不一定意味著你的類應(yīng)該只有一個方法或功能,而是指功能應(yīng)該與一個責(zé)任相聯(lián)系(而且它應(yīng)該只有一個變化的原因)。SRP使類更小、更干凈,使其更容易維護(hù)。
OCP規(guī)定,"軟件實體,如模塊、類、函數(shù)等,應(yīng)該對擴展開放,但對修改封閉"。簡單地說,一個模塊/類的開發(fā)方式應(yīng)該是,它的行為可以被擴展而不需要修改其源代碼。
1.如何應(yīng)用OCP
(1)通過創(chuàng)建新的派生類來增加新的功能,這些派生類必須繼承于原始基類。
(2)通過Strategy等組合設(shè)計模式,允許客戶用抽象接口訪問原始類。
(3)然后,不修改現(xiàn)有的功能,而是創(chuàng)建新的派生類,原類的實現(xiàn)則保持原樣。
2.遵守OCP有關(guān)的問題
如果你允許一個類或函數(shù)添加新的邏輯,你必須測試應(yīng)用程序的所有功能,包括新功能和現(xiàn)有功能。你還需要通知QA團(tuán)隊即將發(fā)生的變化,這樣他們就可以為回歸測試和新功能的測試做準(zhǔn)備。
例如,假設(shè)我們已經(jīng)實現(xiàn)了一種機制,將折扣應(yīng)用于發(fā)票的最終金額。有兩種類型的折扣:一種只適用于最終發(fā)票,一種適用于建議的發(fā)票。當(dāng)我們需要添加新的折扣類型時,就會發(fā)生違反OCP的情況,我們需要改變
DIP是SOLID的第五個原則,它指出高層模塊/類不應(yīng)該依賴于低層模塊/類。相反,兩者都應(yīng)該依賴于抽象。其次抽象不應(yīng)該依賴于細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴于抽象。始終致力于使高層模塊和低層模塊盡可能地緊密聯(lián)系。如果一個類知道另一個類的設(shè)計和實現(xiàn),那么一個類的改變會破壞另一個類的風(fēng)險就會增加。因此,我們需要讓這些高層和低層的模塊/類盡可能地保持松散的聯(lián)系。為了達(dá)到這個目的,我們需要讓它們依賴于抽象,而不是相互認(rèn)識。源代碼可在此獲得。
海馬課堂專業(yè)課程輔導(dǎo),2300+嚴(yán)選碩博學(xué)霸師資,針對學(xué)生的薄弱科目和學(xué)校教學(xué)進(jìn)度,匹配背景相符的導(dǎo)師,根據(jù)學(xué)生情況進(jìn)行1V1專屬備課,上課時間靈活安排,中英雙語詳細(xì)講解課程中的考點、難點問題,并提供多方位的課后輔導(dǎo),輔助學(xué)生掌握全部課程知識,補足短板。
閱讀原文:http://cheshan.cn/news/13238_59.html
版權(quán)作品,未經(jīng)海馬課堂 highmarktutor.com 書面授權(quán),嚴(yán)禁轉(zhuǎn)載,違者將被追究法律責(zé)任。
24h在線客服



備案號:遼ICP備19007957號-1
聆聽您的聲音:feedback@highmark.com.cn企業(yè)熱線:400-778-8318
Copyright ?2015- 海馬課堂網(wǎng)絡(luò)科技(大連)有限公司辦公地址:遼寧省大連市高新技術(shù)產(chǎn)業(yè)園區(qū)火炬路32A號創(chuàng)業(yè)大廈A座18層1801室
499元
一節(jié)課
咨詢電話
咨詢電話:
186-0428-2029
在線咨詢
微信客服
微信咨詢
回到頂部
hmkt088