AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

軟件架構(gòu)中的九種耦合形式

來源: 責(zé)編: 時(shí)間:2024-07-09 18:20:10 773觀看
導(dǎo)讀沒有任何軟件系統(tǒng)可以擺脫依賴關(guān)系,或者保證即使依賴組件發(fā)生變化也不會(huì)產(chǎn)生任何影響。軟件架構(gòu)師總是要處理相互連接的組件之間的依賴程度,并盡量減少甚至消除這種影響。如果軟件組件 A 在如下情況下需要軟件組件 B,那

沒有任何軟件系統(tǒng)可以擺脫依賴關(guān)系,或者保證即使依賴組件發(fā)生變化也不會(huì)產(chǎn)生任何影響。軟件架構(gòu)師總是要處理相互連接的組件之間的依賴程度,并盡量減少甚至消除這種影響。如果軟件組件 A 在如下情況下需要軟件組件 B,那么軟件組件 A 就依賴于軟件組件 B:Sxi28資訊網(wǎng)——每日最新資訊28at.com

  • 運(yùn)行時(shí)編譯
  • 安裝
  • 測試
  • 正常運(yùn)行

耦合是任意架構(gòu)構(gòu)件之間的依賴程度。Sxi28資訊網(wǎng)——每日最新資訊28at.com

Sxi28資訊網(wǎng)——每日最新資訊28at.com

在不同抽象層次上,存在著不同類型的耦合。耦合不僅發(fā)生在源代碼層面,還發(fā)生在基礎(chǔ)架構(gòu)以及其他方面。軟件架構(gòu)師需要了解這些類型,以便在設(shè)計(jì)這些組件時(shí)做出正確決定。我們將根據(jù) ISAQB 軟件架構(gòu)認(rèn)證課程來了解這些耦合類型。Sxi28資訊網(wǎng)——每日最新資訊28at.com

Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過使用/委托耦合

這種耦合是經(jīng)典耦合之一?;旧?,如果類 A 調(diào)用類 B 的公有變量,它們就會(huì)通過使用/委托耦合在一起。最好的解決方法是將這些公有變量私有化,并通過 getter 調(diào)用它們。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過組合耦合

在組合關(guān)系中,正如面向?qū)ο缶幊讨兴x的,類 A 包含類 B。在某些情況下,類 B 可以是類 A 的內(nèi)部部分,并不獨(dú)立存在。因此,這些類通過組合關(guān)系耦合在一起。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過構(gòu)建耦合

這類耦合出現(xiàn)在工廠、抽象工廠等構(gòu)建設(shè)計(jì)模式中。在這些設(shè)計(jì)模式中,類 A 或 B 的構(gòu)建被委托給工廠類。也就是說,類 A 或 B 是通過構(gòu)建與工廠類耦合的。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過繼承耦合

子類繼承超類的屬性和方法的一種依賴關(guān)系。通過繼承產(chǎn)生的耦合非常嚴(yán)格,因?yàn)楦割愖鍪裁?,子類就做什么?span style="display:none">Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過信息或事件耦合

消息傳遞中間件和事件存儲(chǔ)廣泛用于組件之間的松散耦合。在消息傳遞中,通信是異步的,發(fā)送方的請求被發(fā)送到消息隊(duì)列中,接收方從隊(duì)列中獲取請求。發(fā)送方可能知道也可能不知道哪個(gè)接收方收到了請求,也不會(huì)立即回復(fù)。在事件處理中,想法與消息傳遞類似,但這里的狀態(tài)變化是按時(shí)間順序傳遞給監(jiān)聽者的。由于這種通信也是異步的,耦合非常松散,因此非常受歡迎。Sxi28資訊網(wǎng)——每日最新資訊28at.com

時(shí)序耦合

在這種耦合中,如果 A 組件在 B 組件提供某些輸出之前無法執(zhí)行其工作,那么 A 組件就會(huì)暫時(shí)依賴于 B 組件。在這種耦合中,組件 A 和組件 B 不需要使用相同的編程語言或基礎(chǔ)設(shè)施。例如,要在電商網(wǎng)站中購買一些商品,首先需要選擇并將商品添加到購物車中。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過數(shù)據(jù)類型耦合

根據(jù)業(yè)務(wù)需要,開發(fā)者會(huì)創(chuàng)建一些自定義數(shù)據(jù)類型以供進(jìn)一步使用。例如,在 JPA 中創(chuàng)建的 UserEntity 與數(shù)據(jù)庫中的 User 表相對(duì)應(yīng)。因此,UserEntity 將成為軟件系統(tǒng)中的核心數(shù)據(jù)類型,在任何需要處理用戶數(shù)據(jù)的地方都可以使用。如果 UserEntity 有微小的變化,所有依賴類都會(huì)受到影響。這就是通過數(shù)據(jù)類型實(shí)現(xiàn)的耦合。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過數(shù)據(jù)耦合

當(dāng)組件 A 在數(shù)據(jù)庫、配置文件或環(huán)境變量中持久化保存信息,而組件 B 也與之通信時(shí),就會(huì)出現(xiàn)數(shù)據(jù)耦合。如果一個(gè)組件的變化通過這些耦合數(shù)據(jù)影響到另一個(gè)組件,那么很可能需要松開這些耦合。Sxi28資訊網(wǎng)——每日最新資訊28at.com

通過硬件耦合

設(shè)想有一個(gè)物理硬件或服務(wù)器,組件 A 在內(nèi)存位置寫入了一些內(nèi)容,組件 B 在讀取這些內(nèi)容時(shí)也會(huì)受到影響。這種耦合是通過硬件實(shí)現(xiàn)的,經(jīng)常發(fā)生在底層編程中。Sxi28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-99900-0.html軟件架構(gòu)中的九種耦合形式

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: InheritableThreadLocal 是如何實(shí)現(xiàn)的父子線程局部變量的傳遞

下一篇: 結(jié)合Spring Boot 3.x與機(jī)器學(xué)習(xí)算法優(yōu)化推薦系統(tǒng)

標(biāo)簽:
  • 熱門焦點(diǎn)
Top