大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 軟件系統(tǒng)設(shè)計(jì)原則介紹

軟件系統(tǒng)設(shè)計(jì)原則介紹

更新時(shí)間:2022-05-11 10:15:54 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1530次

動(dòng)力節(jié)點(diǎn)小編來(lái)給大家進(jìn)行軟件系統(tǒng)設(shè)計(jì)原則介紹。

軟件系統(tǒng)設(shè)計(jì)原則介紹

1.系統(tǒng)設(shè)計(jì)原則——簡(jiǎn)介

在這篇文章中,我們將介紹一篇關(guān)于軟件系統(tǒng)設(shè)計(jì)原則的綜合文章。軟件架構(gòu)對(duì)于創(chuàng)建同時(shí)實(shí)現(xiàn)多個(gè)目標(biāo)所需的復(fù)雜軟件結(jié)構(gòu)非常關(guān)鍵。在項(xiàng)目開始時(shí)創(chuàng)建正確的軟件架構(gòu)可以在可擴(kuò)展性、可用性、可靠性和降低維護(hù)成本方面帶來(lái)更好的長(zhǎng)期結(jié)果。糟糕的軟件架構(gòu)和架構(gòu)決策可能會(huì)導(dǎo)致維護(hù)成本增加和系統(tǒng)難以維護(hù)。

讓我們來(lái)看看一些最好的系統(tǒng)設(shè)計(jì)原則。

2.關(guān)注點(diǎn)分離

關(guān)注點(diǎn)分離是軟件設(shè)計(jì)中最重要的原則,即將您的軟件系統(tǒng)劃分為組件,每個(gè)部分構(gòu)建一次。關(guān)注點(diǎn)分離導(dǎo)致應(yīng)用程序的模塊化,而模塊化是可擴(kuò)展和可維護(hù)的軟件架構(gòu)的關(guān)鍵。

軟件系統(tǒng)需要以盡可能少的重疊功能進(jìn)行分解。系統(tǒng)中的每個(gè)模塊或服務(wù)都應(yīng)該專注于一組專用的功能。這種方法使其更易于理解、開發(fā)、維護(hù)和易于增強(qiáng)應(yīng)用程序。設(shè)計(jì)具有分離關(guān)注點(diǎn)的系統(tǒng)有助于用不同的編程語(yǔ)言開發(fā)不同的模塊。面向?qū)ο缶幊?/span>中的繼承和組合特性有助于提高應(yīng)用程序的模塊化。

模塊化的主要好處是:

(1)可重用性

模塊化使重用代碼變得容易。公共代碼可以打包為庫(kù),并且可以在多個(gè)項(xiàng)目和/或模塊中使用。

(2)可維護(hù)性

當(dāng)軟件應(yīng)用程序模塊化時(shí),易于排除應(yīng)用程序故障,易于修復(fù)任何錯(cuò)誤,易于維護(hù)。由于每個(gè)組件都是自包含的,因此可以輕松緩解依賴性問(wèn)題。通過(guò)模擬其他依賴項(xiàng)來(lái)測(cè)試每個(gè)模塊也很容易。模塊化有助于提高開發(fā)團(tuán)隊(duì)的生產(chǎn)力,因?yàn)楣ぷ骺梢暂p松地在開發(fā)人員或開發(fā)團(tuán)隊(duì)之間分離。

(3)可擴(kuò)展性

模塊化將模塊彼此抽象。只要保持向后兼容性或創(chuàng)建新版本的 API,就可以更輕松地?cái)U(kuò)展每個(gè)模塊的功能或向現(xiàn)有模塊添加新功能,而不會(huì)對(duì)其他模塊產(chǎn)生重大影響。通過(guò)創(chuàng)建新組件或模塊可以輕松添加新功能。

3.高內(nèi)聚和松耦合

內(nèi)聚度是模塊的相關(guān)元素歸屬在一起并做一件專門的事情的程度。模塊中的所有相關(guān)代碼應(yīng)該彼此靠近。這有助于減少處理請(qǐng)求的延遲。耦合是指應(yīng)用程序中不同模塊相互依賴的程度。

耦合是兩個(gè)系統(tǒng)之間的依賴程度。使軟件組件盡可能松耦合,即每個(gè)模塊應(yīng)盡可能獨(dú)立于其他模塊,以便一個(gè)系統(tǒng)中的更改對(duì)其他組件的影響最小甚至沒(méi)有。繼承是緊耦合的一個(gè)例子。組合是松散耦合的一個(gè)例子。減少耦合導(dǎo)致增加內(nèi)聚。

4.事件驅(qū)動(dòng)架構(gòu)

事件驅(qū)動(dòng)架構(gòu)可幫助應(yīng)用程序在后端系統(tǒng)中感興趣的數(shù)據(jù)項(xiàng)發(fā)生更改時(shí)得到通知。應(yīng)用程序監(jiān)聽這些通知并刷新它們的緩存并采取任何后續(xù)行動(dòng)。如果客戶端應(yīng)用程序可以處理事件通知,則有助于減少對(duì)后端系統(tǒng)的調(diào)用次數(shù)。

有幾種通知機(jī)制可用于應(yīng)用程序開發(fā)。其中一些是 ActiveMQ、RabbitMQ、Kafka 等分布式消息傳遞系統(tǒng)。每個(gè)云提供商還提供不同的消息傳遞/通知服務(wù)。

5.減少Client請(qǐng)求路徑中的處理量

客戶端請(qǐng)求路徑中的大量處理會(huì)導(dǎo)致客戶端調(diào)用延遲增加并限制吞吐量應(yīng)用程序處理量。最少的處理導(dǎo)致更快的響應(yīng),應(yīng)用程序可以用更少的容量處理更多的負(fù)載。通過(guò)預(yù)先計(jì)算可能的響應(yīng)項(xiàng)并將它們緩存在分布式緩存中,可以實(shí)現(xiàn)最少的處理。當(dāng)客戶端請(qǐng)求數(shù)據(jù)項(xiàng)時(shí),可以直接從填充的緩存中獲取預(yù)先計(jì)算的數(shù)據(jù)。

6.使用有效的緩存使其具有高度響應(yīng)性

在適用的地方使用緩存來(lái)減少遠(yuǎn)程服務(wù)調(diào)用、數(shù)據(jù)庫(kù)調(diào)用和請(qǐng)求路徑中的處理量。這有助于減少客戶端調(diào)用服務(wù)的延遲。使用事件通知機(jī)制來(lái)保持緩存溫暖并避免向客戶端提供陳舊數(shù)據(jù)。

7.分布式系統(tǒng)特點(diǎn)

分布式系統(tǒng)被設(shè)計(jì)為高度可擴(kuò)展、可靠且可用于服務(wù)于負(fù)載的變化,并且高度可靠且可用。以下是有關(guān)這些特征的更多詳細(xì)信息:

(1)可擴(kuò)展性

可擴(kuò)展性是系統(tǒng)通過(guò)增加額外容量自動(dòng)增長(zhǎng)和管理需求增長(zhǎng)的能力。縮放有兩種類型,垂直縮放和水平縮放。

1)垂直縮放

在 Vertical Scaling 中,您可以添加更多具有更大容量的高級(jí)硬件,例如更多 RAM、強(qiáng)大的處理器等,以增加應(yīng)用程序的負(fù)載。垂直擴(kuò)展的問(wèn)題在于容量可以增長(zhǎng)多少總是有限制的。由于硬件成本,這種類型的擴(kuò)展很昂貴,并且需要時(shí)間來(lái)獲得新硬件。如果您想快速擴(kuò)展您的應(yīng)用程序以增加負(fù)載,那么這種類型的擴(kuò)展不是一個(gè)很好的選擇。

2)水平縮放

在水平擴(kuò)展中,您可以在現(xiàn)有容量中添加更多服務(wù)器,以應(yīng)對(duì)應(yīng)用程序增加的負(fù)載。增加的應(yīng)用程序負(fù)載通過(guò)負(fù)載均衡器分布在集群中的所有服務(wù)器上。如果您想快速擴(kuò)展您的軟件并且它并不昂貴,那么這種類型的擴(kuò)展是最佳選擇。

通過(guò)配置更改可以輕松擴(kuò)展云環(huán)境中的應(yīng)用程序,這會(huì)根據(jù)性能監(jiān)控指標(biāo)自動(dòng)將額外的服務(wù)器添加到集群中。

(2)可靠性

系統(tǒng)的可靠性是在給定環(huán)境中特定時(shí)間段內(nèi)軟件操作失敗的概率。如果即使系統(tǒng)的部分硬件或軟件出現(xiàn)故障,它仍能繼續(xù)為客戶端請(qǐng)求提供服務(wù),則該系統(tǒng)被認(rèn)為是高度可靠的。任何失敗的組件都可以在不影響客戶端請(qǐng)求的情況下進(jìn)行更換。

分布式系統(tǒng)的可靠性可以通過(guò)軟件組件和數(shù)據(jù)的冗余來(lái)實(shí)現(xiàn),因此任何一個(gè)組件或數(shù)據(jù)容器的丟失都不會(huì)導(dǎo)致性能下降或客戶端請(qǐng)求失敗。由于軟件組件和數(shù)據(jù)的冗余,高可靠性會(huì)導(dǎo)致額外的成本。

(3)可用性

可用性是系統(tǒng)保持運(yùn)行并在特定時(shí)期內(nèi)繼續(xù)執(zhí)行其功能的時(shí)間。如果一個(gè)系統(tǒng)是可靠的,那么它就會(huì)自動(dòng)可用,即它會(huì)繼續(xù)運(yùn)行。

(4)簡(jiǎn)單性

每個(gè)系統(tǒng)設(shè)計(jì)都是為了使系統(tǒng)盡可能簡(jiǎn)單。系統(tǒng)的簡(jiǎn)單性帶來(lái)了一些好處,例如代碼的重用、易于更改、易于添加新功能、易于測(cè)試和解決任何生產(chǎn)問(wèn)題。

8.使用異步進(jìn)程

使用異步處理和并行處理將有助于加快客戶端請(qǐng)求并減少請(qǐng)求的整體延遲。使用 RxJava 等框架并行處理給定客戶端請(qǐng)求中涉及的多個(gè)子請(qǐng)求。盡可能使用異步調(diào)用來(lái)調(diào)用其他系統(tǒng)。減少客戶端請(qǐng)求路徑中的調(diào)用次數(shù)可以提高應(yīng)用程序的性能,并且應(yīng)用程序易于擴(kuò)展。

以上就是關(guān)于“軟件系統(tǒng)設(shè)計(jì)原則介紹”,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java視頻,里面的課程內(nèi)容從入門到精通,細(xì)致全面,通俗易懂,很適合沒(méi)有基礎(chǔ)的朋友學(xué)習(xí),相信對(duì)大家會(huì)有所幫助的。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲深夜在线 | 无遮挡一级毛片呦女视频 | 高清在线亚洲精品国产二区 | 精品视频免费 | 92精品国产成人观看免费 | 日韩一区二区免费视频 | 亚洲精品国产一区二区三区在 | 国产乱子伦 | 高清国产一区二区三区 | 99在线观看精品免费99 | 国产日韩久久久久69影院 | 伊人成年综合网 | 国产在线精品观看一区 | 国产九九精品 | 久草视频在线资源 | 波多野结衣一二三区 | 夜夜操夜夜摸 | 九九九九在线精品免费视频 | 99热久久久久久久免费观看 | 免费国产精成人品 | 国产性较精品视频免费 | 欧美一级黄色毛片 | 国产精品免费视频一区二区三区 | 亚洲欧美一区二区三区四区 | 国产精品香蕉在线观看不卡 | 亚洲国产成人最新精品资源 | 日本免费一区二区三区 | 在线观看国产一区二区三区 | 九九99视频在线观看视频观看 | 精品美女在线观看 | 一级大黄视频 | 国产成人一区二区视频在线观看 | 成人欧美一区在线视频在线观看 | 国产精品亚洲欧美日韩久久 | 亚洲一区欧美日韩 | 久久中文娱乐网 | 九九精品免视看国产成人 | 四虎影院在线播放视频 | 欧美成人a | 亚洲精品aⅴ一区二区三区 亚洲精品ccc | 天天色综合色 |