芒果视频下载

網站(zhan)分類
登錄 |    

耦合性什么意思 耦合性和內聚性是什么意思

本文章由注冊用戶 芝士球球 上傳提供 2024-02-17 評論 0
摘要:耦合性是什么意思?很多小伙伴可能經常聽到耦合性這個詞但是并不知道這個詞的具體含義是什么,其實耦合性是一種軟件度量,是指一程序中,模塊及模塊之間信息或參數依賴的程度。那么耦合性和內聚性又是什么意思呢?耦合性的七種類型是什么?下面小編就來為大家解答這些問題,感興趣的朋友就一起來看看吧。

耦合性什么意思

耦(ou)合(he)性(xing),也(ye)叫耦(ou)合(he)度(du)(du),是(shi)對(dui)模塊間關聯程度(du)(du)的(de)(de)度(du)(du)量(liang)。耦(ou)合(he)的(de)(de)強(qiang)弱(ruo)取決于(yu)模塊間接口(kou)的(de)(de)復雜性(xing)、調用模塊的(de)(de)方式以及通過界面傳送數據的(de)(de)多(duo)少。

模塊間的耦合度是指模塊之間的依賴關系,包括控制關系、調用關系、數據傳遞關系。模塊間聯系越多,其耦合性越強,同時表明其獨立性越差(降低耦合性,可以提高其獨立性)。軟件設計中通常用耦(ou)合(he)度(du)和內聚(ju)度(du)作為(wei)衡量模(mo)塊(kuai)獨立程度(du)的標準(zhun)。劃分模(mo)塊(kuai)的一個準(zhun)則就(jiu)是高內聚(ju)低(di)耦(ou)合(he)。

形象(xiang)的(de)(de)(de)(de)說,就(jiu)是(shi)要將(jiang)代(dai)碼寫的(de)(de)(de)(de)和主(zhu)機(ji)的(de)(de)(de)(de)排(pai)線(xian)(xian)一樣(yang),低(di)耦(ou)合(he)的(de)(de)(de)(de)模塊(kuai)好(hao)(hao)像(xiang)你(ni)(ni)看你(ni)(ni)主(zhu)機(ji)排(pai)線(xian)(xian)中的(de)(de)(de)(de)隨便一條就(jiu)知道(dao)這條線(xian)(xian)是(shi)干啥(sha)一樣(yang)拔掉(diao)(diao)會(hui)不會(hui)影(ying)響(xiang)其(qi)(qi)他排(pai)線(xian)(xian)的(de)(de)(de)(de)功(gong)能(neng)(neng)一樣(yang),低(di)耦(ou)合(he)的(de)(de)(de)(de)模塊(kuai)就(jiu)好(hao)(hao)比鼠標(biao)線(xian)(xian)一樣(yang)拔掉(diao)(diao)它只影(ying)響(xiang)它自身(shen)的(de)(de)(de)(de)鼠標(biao)功(gong)能(neng)(neng),高(gao)耦(ou)合(he)的(de)(de)(de)(de)模塊(kuai)就(jiu)好(hao)(hao)比主(zhu)機(ji)電(dian)源線(xian)(xian)一拔掉(diao)(diao)不只影(ying)響(xiang)它自身(shen)的(de)(de)(de)(de)功(gong)能(neng)(neng)其(qi)(qi)他功(gong)能(neng)(neng)也被(bei)影(ying)響(xiang)了。

耦合性和內聚性是什么意思

1、耦合性(塊間聯系(xi))

指軟件系統結構中各模(mo)塊(kuai)(kuai)間相互聯系緊密程度(du)的(de)一種度(du)量。模(mo)塊(kuai)(kuai)之(zhi)間聯系越緊密,其(qi)耦合(he)性就越強,模(mo)塊(kuai)(kuai)的(de)獨(du)立性則(ze)越差。模(mo)塊(kuai)(kuai)間耦合(he)高(gao)低取決于模(mo)塊(kuai)(kuai)間接口的(de)復雜性、調用的(de)方式及(ji)傳遞的(de)信息(xi)。

2、內聚(ju)性(塊內聯系(xi))

指模(mo)塊(kuai)的(de)功能強度的(de)度量,即一個模(mo)塊(kuai)內部(bu)各(ge)(ge)個元(yuan)素彼(bi)此結合的(de)緊密(mi)程(cheng)度的(de)度量。若一個模(mo)塊(kuai)內各(ge)(ge)元(yuan)素(語名之間、程(cheng)序(xu)段之間)聯系的(de)越緊密(mi),則(ze)它的(de)內聚(ju)性就(jiu)越高。

因此,現代程序(xu)講究高內(nei)聚(ju)低(di)耦合,即將功能內(nei)聚(ju)在同(tong)一模(mo)塊,模(mo)塊與模(mo)塊間(jian)盡可能獨(du)立,互相依賴低(di)。沒有絕對沒有耦合的模(mo)塊組,只有盡量降低(di)互相之間(jian)的影響,使模(mo)塊越獨(du)立越好。

耦合性的七種類型

1、非直接耦合

如果(guo)兩(liang)個模(mo)(mo)塊之(zhi)間(jian)沒有直接關(guan)系,它們之(zhi)間(jian)的聯系完全(quan)是通(tong)過主(zhu)模(mo)(mo)塊的控制和調(diao)用(yong)來實(shi)現的,這就是非直接耦(ou)合。這種(zhong)耦(ou)合的模(mo)(mo)塊獨立(li)性(xing)最強。

2、數據耦合

如(ru)果一個(ge)模塊(kuai)訪問另一個(ge)模塊(kuai)時,彼(bi)此之間(jian)是(shi)通過(guo)數(shu)據參(can)數(shu)(不是(shi)控制(zhi)參(can)數(shu)、公共數(shu)據結構(gou)或外部變量)來交換輸入、輸出信(xin)息的(de),則稱這種耦合(he)為數(shu)據耦合(he)。由于限(xian)制(zhi)了(le)只通過(guo)參(can)數(shu)表傳遞數(shu)據,按數(shu)據耦合(he)開發的(de)程序(xu)界面簡單、安全可靠。因(yin)此,數(shu)據耦合(he)是(shi)松散(san)的(de)耦合(he),模塊(kuai)之間(jian)的(de)獨(du)立性比較(jiao)強。在軟件程序(xu)結構(gou)中至少必(bi)須有(you)這類耦合(he)。

3、標記耦合

如果(guo)一(yi)(yi)組模塊通(tong)過參數表傳遞(di)記(ji)錄(lu)(lu)(lu)信(xin)息,就(jiu)是標記(ji)耦(ou)(ou)合。事實(shi)上,這(zhe)(zhe)組模塊共享了(le)這(zhe)(zhe)個記(ji)錄(lu)(lu)(lu),它是某(mou)一(yi)(yi)數據(ju)結(jie)構的子結(jie)構,而不是簡(jian)單變量。這(zhe)(zhe)要(yao)(yao)求(qiu)這(zhe)(zhe)些模塊都(dou)必(bi)須清楚該記(ji)錄(lu)(lu)(lu)的結(jie)構,并按結(jie)構要(yao)(yao)求(qiu)對此(ci)記(ji)錄(lu)(lu)(lu)進(jin)行操(cao)作(zuo)。在設計中(zhong)應(ying)盡量避(bi)免這(zhe)(zhe)種(zhong)耦(ou)(ou)合,它使在數據(ju)結(jie)構上的操(cao)作(zuo)復(fu)雜(za)化了(le)。如果(guo)采(cai)取“信(xin)息隱蔽”的方法,把(ba)在數據(ju)結(jie)構上的操(cao)作(zuo)全部集(ji)中(zhong)在一(yi)(yi)個模塊中(zhong),就(jiu)可以消除(chu)這(zhe)(zhe)種(zhong)耦(ou)(ou)合。

4、控制耦合

如果一(yi)個(ge)模(mo)(mo)塊(kuai)(kuai)(kuai)通過傳送開關(guan)、標志、名字等控(kong)制(zhi)(zhi)(zhi)信息,明顯(xian)地控(kong)制(zhi)(zhi)(zhi)選擇另一(yi)模(mo)(mo)塊(kuai)(kuai)(kuai)的(de)(de)功能,就是控(kong)制(zhi)(zhi)(zhi)耦合。這種耦合的(de)(de)實質是在單一(yi)接口上(shang)選擇多功能模(mo)(mo)塊(kuai)(kuai)(kuai)中(zhong)的(de)(de)某項功能。因此,對所控(kong)制(zhi)(zhi)(zhi)模(mo)(mo)塊(kuai)(kuai)(kuai)的(de)(de)任何(he)修(xiu)改(gai),都會(hui)影響控(kong)制(zhi)(zhi)(zhi)模(mo)(mo)塊(kuai)(kuai)(kuai)。另外(wai),控(kong)制(zhi)(zhi)(zhi)耦合也意味(wei)著控(kong)制(zhi)(zhi)(zhi)模(mo)(mo)塊(kuai)(kuai)(kuai)必須知道(dao)所控(kong)制(zhi)(zhi)(zhi)模(mo)(mo)塊(kuai)(kuai)(kuai)內部(bu)的(de)(de)一(yi)些邏輯(ji)關(guan)系,這些都會(hui)降低模(mo)(mo)塊(kuai)(kuai)(kuai)的(de)(de)獨立性。

5、外部耦合

一(yi)(yi)組模(mo)塊都(dou)訪問同(tong)一(yi)(yi)全局(ju)簡單變量而(er)不是同(tong)一(yi)(yi)全局(ju)數據結(jie)構,而(er)且(qie)不是通過參數表傳遞該全局(ju)變量的信息(xi),則(ze)稱之為外部耦合。

6、公共耦合

若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的互聯網數據環(huan)境可以是全局數據結構、共(gong)享的通信區(qu)、內存(cun)的公共(gong)覆蓋區(qu)等。

7、內容耦合

如果發(fa)生下列情形,兩個模塊(kuai)之間就發(fa)生了內容耦合。

(1)一個模塊(kuai)(kuai)直接訪問(wen)另一個模塊(kuai)(kuai)的內部數據。

(2)一(yi)個模塊不(bu)通過正(zheng)常(chang)入口轉到另一(yi)模塊內部。

(3)兩個模塊有一(yi)部分程序代(dai)碼重疊(只(zhi)可能出(chu)現在匯(hui)編語言中)。

(4)一個模塊有多個入口。

網站提醒和聲明
本(ben)站為注冊用(yong)戶提供信息存儲(chu)空(kong)間(jian)服務(wu),非“MAIGOO編(bian)輯上(shang)傳提供”的文(wen)章/文(wen)字均是注冊用(yong)戶自主發布上(shang)傳,不代表本(ben)站觀點,版權(quan)歸原(yuan)作者所(suo)有,如有侵權(quan)、虛假信息、錯誤信息或任(ren)何問題,請(qing)及時(shi)聯系我們,我們將在第一時(shi)間(jian)刪除或更正。 申請刪除>> 糾錯>> 投訴侵權>> 網頁上(shang)相關(guan)信(xin)息的(de)知識產(chan)權歸(gui)網站(zhan)方所(suo)有(包括但不限于(yu)文(wen)字、圖片、圖表、著作(zuo)權、商標權、為用(yong)戶提供的(de)商業信(xin)息等(deng)),非(fei)經許可不得抄襲或使用(yong)。
提(ti)交說明(ming): 快速提交發布>> 查看提交幫助>> 注冊登錄>>
發表評論
您還未登錄,依《網絡安全法》相關要求,請您登錄賬戶后再提交發布信息。點擊登錄>>如您還未注冊,可,感謝您的理解及支持!
最(zui)新評論(lun)
暫無評論