芒果视频下载

網站(zhan)分類
登錄 |    

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

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

耦合性什么意思

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

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

形象(xiang)的(de)(de)說,就(jiu)(jiu)是(shi)要將代碼寫的(de)(de)和主(zhu)(zhu)機的(de)(de)排(pai)線(xian)(xian)(xian)一(yi)樣(yang),低(di)耦合(he)的(de)(de)模(mo)(mo)塊好(hao)像(xiang)你看你主(zhu)(zhu)機排(pai)線(xian)(xian)(xian)中(zhong)的(de)(de)隨便一(yi)條就(jiu)(jiu)知道(dao)這條線(xian)(xian)(xian)是(shi)干啥一(yi)樣(yang)拔(ba)掉會(hui)不會(hui)影(ying)(ying)(ying)響其他(ta)(ta)排(pai)線(xian)(xian)(xian)的(de)(de)功(gong)(gong)能(neng)一(yi)樣(yang),低(di)耦合(he)的(de)(de)模(mo)(mo)塊就(jiu)(jiu)好(hao)比鼠(shu)標線(xian)(xian)(xian)一(yi)樣(yang)拔(ba)掉它只(zhi)影(ying)(ying)(ying)響它自(zi)身的(de)(de)鼠(shu)標功(gong)(gong)能(neng),高(gao)耦合(he)的(de)(de)模(mo)(mo)塊就(jiu)(jiu)好(hao)比主(zhu)(zhu)機電源線(xian)(xian)(xian)一(yi)拔(ba)掉不只(zhi)影(ying)(ying)(ying)響它自(zi)身的(de)(de)功(gong)(gong)能(neng)其他(ta)(ta)功(gong)(gong)能(neng)也被影(ying)(ying)(ying)響了。

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

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

指軟件系(xi)統結構中(zhong)各模(mo)(mo)(mo)(mo)塊(kuai)間相互聯(lian)系(xi)緊(jin)密程度的一(yi)種度量。模(mo)(mo)(mo)(mo)塊(kuai)之間聯(lian)系(xi)越緊(jin)密,其耦(ou)合性(xing)就越強,模(mo)(mo)(mo)(mo)塊(kuai)的獨立(li)性(xing)則越差(cha)。模(mo)(mo)(mo)(mo)塊(kuai)間耦(ou)合高低(di)取(qu)決于(yu)模(mo)(mo)(mo)(mo)塊(kuai)間接口的復雜性(xing)、調用的方(fang)式及傳(chuan)遞(di)的信(xin)息(xi)。

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

指(zhi)模塊(kuai)(kuai)的功能(neng)強度的度量,即一個(ge)模塊(kuai)(kuai)內(nei)(nei)部各個(ge)元(yuan)素彼此結(jie)合的緊(jin)密程度的度量。若一個(ge)模塊(kuai)(kuai)內(nei)(nei)各元(yuan)素(語名之間、程序段(duan)之間)聯系(xi)的越緊(jin)密,則它的內(nei)(nei)聚性就(jiu)越高。

因(yin)此,現代程序(xu)講究高內(nei)聚低耦合(he),即將功能內(nei)聚在同一(yi)模塊(kuai),模塊(kuai)與(yu)模塊(kuai)間盡可(ke)能獨立,互相(xiang)依賴低。沒(mei)有絕對沒(mei)有耦合(he)的模塊(kuai)組,只(zhi)有盡量降低互相(xiang)之間的影響(xiang),使模塊(kuai)越獨立越好。

耦合性的七種類型

1、非直接耦合

如果兩個模(mo)塊(kuai)之(zhi)間(jian)沒有(you)直接(jie)關系,它們之(zhi)間(jian)的(de)聯系完(wan)全是通過主模(mo)塊(kuai)的(de)控制和調(diao)用來實現的(de),這(zhe)就是非(fei)直接(jie)耦合。這(zhe)種(zhong)耦合的(de)模(mo)塊(kuai)獨立性(xing)最強。

2、數據耦合

如果一(yi)個模塊訪問另一(yi)個模塊時(shi),彼此之間是通過數據(ju)(ju)(ju)參(can)數(不是控制(zhi)(zhi)參(can)數、公(gong)共數據(ju)(ju)(ju)結(jie)構或外部變量)來交(jiao)換輸入、輸出信息的,則稱這種耦合為數據(ju)(ju)(ju)耦合。由于限制(zhi)(zhi)了只通過參(can)數表傳(chuan)遞數據(ju)(ju)(ju),按數據(ju)(ju)(ju)耦合開發的程序(xu)界(jie)面簡單、安全可靠。因此,數據(ju)(ju)(ju)耦合是松散的耦合,模塊之間的獨立性(xing)比較強(qiang)。在軟件程序(xu)結(jie)構中至少(shao)必須有這類耦合。

3、標記耦合

如(ru)果(guo)一(yi)(yi)組(zu)模(mo)塊(kuai)(kuai)通(tong)過參數(shu)表傳遞記錄(lu)信息(xi),就(jiu)是標記耦(ou)(ou)合。事實上,這(zhe)組(zu)模(mo)塊(kuai)(kuai)共享了這(zhe)個(ge)記錄(lu),它(ta)是某(mou)一(yi)(yi)數(shu)據(ju)結(jie)構(gou)(gou)的(de)(de)子結(jie)構(gou)(gou),而不是簡(jian)單變量。這(zhe)要(yao)求這(zhe)些模(mo)塊(kuai)(kuai)都(dou)必須(xu)清(qing)楚該記錄(lu)的(de)(de)結(jie)構(gou)(gou),并按結(jie)構(gou)(gou)要(yao)求對此(ci)記錄(lu)進行(xing)操(cao)作。在(zai)(zai)設計中(zhong)應盡(jin)量避免這(zhe)種耦(ou)(ou)合,它(ta)使在(zai)(zai)數(shu)據(ju)結(jie)構(gou)(gou)上的(de)(de)操(cao)作復雜(za)化了。如(ru)果(guo)采取“信息(xi)隱蔽”的(de)(de)方法,把在(zai)(zai)數(shu)據(ju)結(jie)構(gou)(gou)上的(de)(de)操(cao)作全(quan)部(bu)集中(zhong)在(zai)(zai)一(yi)(yi)個(ge)模(mo)塊(kuai)(kuai)中(zhong),就(jiu)可以消(xiao)除這(zhe)種耦(ou)(ou)合。

4、控制耦合

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

5、外部耦合

一(yi)(yi)組(zu)模塊都訪問同一(yi)(yi)全(quan)局簡單變(bian)量而不(bu)是同一(yi)(yi)全(quan)局數(shu)據結構(gou),而且不(bu)是通過參數(shu)表傳遞該全(quan)局變(bian)量的信息,則稱之為外部耦合。

6、公共耦合

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

7、內容耦合

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

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

(2)一個(ge)模塊不通(tong)過正常入口轉到另一模塊內部。

(3)兩個模塊有(you)一部分程序代碼重疊(die)(只可能出現(xian)在匯編語言中)。

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

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