芒果视频下载

網站分類
登錄 |    

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

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

耦合性什么意思

耦(ou)合(he)性,也叫(jiao)耦(ou)合(he)度,是對模(mo)(mo)塊間(jian)關(guan)聯程(cheng)度的(de)度量。耦(ou)合(he)的(de)強弱取決(jue)于模(mo)(mo)塊間(jian)接口的(de)復雜(za)性、調用模(mo)(mo)塊的(de)方式以(yi)及通(tong)過界(jie)面傳送數據的(de)多少。

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

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

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

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

指軟件(jian)系(xi)統(tong)結(jie)構中各模(mo)塊(kuai)(kuai)間(jian)相互(hu)聯系(xi)緊密程度的(de)(de)一種度量(liang)。模(mo)塊(kuai)(kuai)之間(jian)聯系(xi)越(yue)緊密,其耦(ou)合性(xing)就越(yue)強,模(mo)塊(kuai)(kuai)的(de)(de)獨立性(xing)則越(yue)差。模(mo)塊(kuai)(kuai)間(jian)耦(ou)合高低取決于模(mo)塊(kuai)(kuai)間(jian)接口的(de)(de)復雜性(xing)、調用(yong)的(de)(de)方式及傳遞的(de)(de)信息。

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

指模塊(kuai)(kuai)的(de)(de)功能(neng)強度(du)的(de)(de)度(du)量,即一個模塊(kuai)(kuai)內部(bu)各個元素彼此結合的(de)(de)緊(jin)密程度(du)的(de)(de)度(du)量。若一個模塊(kuai)(kuai)內各元素(語名之間(jian)、程序段之間(jian))聯系的(de)(de)越緊(jin)密,則它的(de)(de)內聚(ju)性就越高。

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

耦合性的七種類型

1、非直接耦合

如果(guo)兩個模塊之間沒(mei)有直接關系(xi),它們之間的聯系(xi)完(wan)全(quan)是(shi)通(tong)過(guo)主模塊的控制和(he)調用(yong)來實現的,這就(jiu)是(shi)非直接耦(ou)合。這種耦(ou)合的模塊獨立性最強。

2、數據耦合

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

3、標記耦合

如果(guo)一(yi)組(zu)模(mo)(mo)(mo)塊通過參數(shu)(shu)表傳遞記(ji)(ji)錄(lu)信(xin)息,就是(shi)(shi)標記(ji)(ji)耦合(he)。事實上,這(zhe)(zhe)(zhe)(zhe)組(zu)模(mo)(mo)(mo)塊共享了(le)這(zhe)(zhe)(zhe)(zhe)個記(ji)(ji)錄(lu),它是(shi)(shi)某(mou)一(yi)數(shu)(shu)據(ju)結構(gou)(gou)的子(zi)結構(gou)(gou),而不是(shi)(shi)簡單變量。這(zhe)(zhe)(zhe)(zhe)要求這(zhe)(zhe)(zhe)(zhe)些(xie)模(mo)(mo)(mo)塊都(dou)必須清楚(chu)該(gai)記(ji)(ji)錄(lu)的結構(gou)(gou),并(bing)按(an)結構(gou)(gou)要求對此記(ji)(ji)錄(lu)進行(xing)操(cao)(cao)(cao)作。在(zai)(zai)設(she)計中(zhong)(zhong)(zhong)應(ying)盡(jin)量避免這(zhe)(zhe)(zhe)(zhe)種耦合(he),它使在(zai)(zai)數(shu)(shu)據(ju)結構(gou)(gou)上的操(cao)(cao)(cao)作復(fu)雜化(hua)了(le)。如果(guo)采(cai)取“信(xin)息隱蔽”的方法,把在(zai)(zai)數(shu)(shu)據(ju)結構(gou)(gou)上的操(cao)(cao)(cao)作全部(bu)集中(zhong)(zhong)(zhong)在(zai)(zai)一(yi)個模(mo)(mo)(mo)塊中(zhong)(zhong)(zhong),就可(ke)以消除這(zhe)(zhe)(zhe)(zhe)種耦合(he)。

4、控制耦合

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

5、外部耦合

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

6、公共耦合

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

7、內容耦合

如果(guo)發生下列情(qing)形,兩個(ge)模(mo)塊之(zhi)間就發生了(le)內容(rong)耦合(he)。

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

(2)一個模(mo)塊(kuai)不通過正常(chang)入口(kou)轉到另一模(mo)塊(kuai)內部。

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

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

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