芒果视频下载

網站分類
登錄 |    

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

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

耦合性什么意思

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

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

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

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

1、耦合性(塊間聯系)

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

2、內聚性(塊內聯系)

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

因此(ci),現代程序講究高內聚(ju)低(di)耦合,即將(jiang)功(gong)能內聚(ju)在同一模(mo)(mo)塊(kuai),模(mo)(mo)塊(kuai)與(yu)模(mo)(mo)塊(kuai)間(jian)盡(jin)可能獨(du)立,互(hu)相依賴低(di)。沒有(you)絕對沒有(you)耦合的(de)模(mo)(mo)塊(kuai)組,只有(you)盡(jin)量降低(di)互(hu)相之間(jian)的(de)影(ying)響,使(shi)模(mo)(mo)塊(kuai)越(yue)獨(du)立越(yue)好。

耦合性的七種類型

1、非直接耦合

如(ru)果兩個模(mo)(mo)(mo)塊(kuai)之間沒(mei)有直接關系,它們(men)之間的(de)聯(lian)系完全是(shi)通過主模(mo)(mo)(mo)塊(kuai)的(de)控制和調用來實現(xian)的(de),這就是(shi)非直接耦(ou)合。這種耦(ou)合的(de)模(mo)(mo)(mo)塊(kuai)獨立性最強(qiang)。

2、數據耦合

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

3、標記耦合

如果一(yi)組模塊(kuai)通過參(can)數表傳遞記錄(lu)信息,就是標記耦合(he)。事(shi)實上,這(zhe)(zhe)組模塊(kuai)共享了這(zhe)(zhe)個記錄(lu),它(ta)是某一(yi)數據結(jie)構(gou)(gou)的(de)子結(jie)構(gou)(gou),而不是簡單變(bian)量。這(zhe)(zhe)要求這(zhe)(zhe)些(xie)模塊(kuai)都必須清楚該記錄(lu)的(de)結(jie)構(gou)(gou),并按結(jie)構(gou)(gou)要求對此記錄(lu)進(jin)行操(cao)作。在(zai)(zai)設計中應(ying)盡量避免(mian)這(zhe)(zhe)種耦合(he),它(ta)使(shi)在(zai)(zai)數據結(jie)構(gou)(gou)上的(de)操(cao)作復雜化了。如果采取“信息隱蔽”的(de)方(fang)法,把在(zai)(zai)數據結(jie)構(gou)(gou)上的(de)操(cao)作全部集中在(zai)(zai)一(yi)個模塊(kuai)中,就可以消除這(zhe)(zhe)種耦合(he)。

4、控制耦合

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

5、外部耦合

一組模塊都訪(fang)問同一全局簡單(dan)變量而(er)不是同一全局數(shu)據結構,而(er)且不是通過參數(shu)表傳遞(di)該全局變量的信息,則稱之(zhi)為(wei)外(wai)部耦合。

6、公共耦合

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

7、內容耦合

如果發生下(xia)列情形,兩個模塊之(zhi)間就(jiu)發生了(le)內(nei)容(rong)耦(ou)合。

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

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

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

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

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