耦合的分類(lèi)
發(fā)布時(shí)間:2015年10月03日 08:52 閱讀:7818
返回 來(lái)源:
澤德
耦合的分類(lèi)
耦合是指兩個(gè)或兩個(gè)以上的電路元件或電網(wǎng)絡(luò)等的輸入與輸出之間存在緊密配合與相互影響,并通過(guò)相互作用從一側(cè)向另一側(cè)傳輸能量的現(xiàn)象。
耦合主要分為以下幾種:
多場(chǎng)耦合
現(xiàn)實(shí)工程中,物理場(chǎng)是許多的,溫度場(chǎng),引力場(chǎng),濕度場(chǎng)等等均屬于物理場(chǎng),而我們要解決的許多問(wèn)題是這些物理場(chǎng)的疊加問(wèn)題,因?yàn)檫@些物理場(chǎng)直接是相互影響的。比如煉鋼的時(shí)候溫度高低對(duì)于應(yīng)力分布就有影響。
這種多個(gè)物理場(chǎng)相互疊加的問(wèn)題就叫做多場(chǎng)耦合問(wèn)題,也是一種耦合。
能量耦合
如變壓器的初級(jí)與次級(jí)之間的能量耦合。
數(shù)據(jù)耦合
一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來(lái)交換輸入、輸出信息的。
標(biāo)記耦合
一組模塊通過(guò)參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。其實(shí)傳遞的是這個(gè)數(shù)據(jù)結(jié)構(gòu)的地址;
控制耦合
如果一個(gè)模塊通過(guò)傳送開(kāi)關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。
外部耦合
一組模塊都訪問(wèn)同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過(guò)參數(shù)表傳遞該全局變量的信息,則稱(chēng)之為外部耦合。
公共耦合
若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱(chēng)為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。
內(nèi)容耦合
當(dāng)一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù),或者直接轉(zhuǎn)入另一個(gè)模塊時(shí),就發(fā)生了內(nèi)容耦合。此時(shí),被修改的模塊完全依賴(lài)于修改它的模塊。如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合
(1) 一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);
(2) 一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;
(3) 兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編語(yǔ)言中);
(4) 一個(gè)模塊有多個(gè)入口。
非直接耦合
兩個(gè)模塊之間沒(méi)有直接關(guān)系,它們之間的聯(lián)系完全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的。
另類(lèi)情況
如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合
(1)一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);
(2)一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;
(3)兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編語(yǔ)言中);
(4)一個(gè)模塊有多個(gè)入口。耦合強(qiáng)度,依賴(lài)于以下幾個(gè)因素:
(1)一個(gè)模塊對(duì)另一個(gè)模塊的調(diào)用;
(2)一個(gè)模塊向另一個(gè)模塊傳遞的數(shù)據(jù)量;
(3)一個(gè)模塊施加到另一個(gè)模塊的控制的多少;
(4)模塊之間接口的復(fù)雜程度。
耦合按從強(qiáng)到弱的順序可分為以下幾種類(lèi)型:
(1)內(nèi)容耦合。當(dāng)一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù),或者直接轉(zhuǎn)入另一個(gè)模塊時(shí),就發(fā)生了內(nèi)容耦合。此時(shí),被修改的模塊完全依賴(lài)于修改它的模塊。
(2)公共耦合。兩個(gè)以上的模塊共同引用一個(gè)全局?jǐn)?shù)據(jù)項(xiàng)就稱(chēng)為公共耦合。
(3)外部耦合。若一組模塊都訪問(wèn)同一全局?jǐn)?shù)據(jù)項(xiàng),則稱(chēng)為外部耦合。
(4)控制耦合。一個(gè)模塊在界面上傳遞一個(gè)信號(hào)(如開(kāi)關(guān)值、標(biāo)志量等)控制另一個(gè)模塊,接收信號(hào)的模塊的動(dòng)作根據(jù)信號(hào)值進(jìn)行調(diào)整,稱(chēng)為控制耦合。
(5)標(biāo)記耦合。模塊間通過(guò)參數(shù)傳遞復(fù)雜的內(nèi)部數(shù)據(jù)結(jié)構(gòu),稱(chēng)為標(biāo)記耦合。此數(shù)據(jù)結(jié)構(gòu)的變化將使相關(guān)的模塊發(fā)生變化。
(6)數(shù)據(jù)耦合。模塊間通過(guò)參數(shù)傳遞基本類(lèi)型的數(shù)據(jù),稱(chēng)為數(shù)據(jù)耦合。
(7)非直接耦合。模塊間沒(méi)有信息傳遞時(shí),屬于非直接耦合。
如果模塊間必須存在耦合,就盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,堅(jiān)決避免使用內(nèi)容耦合。
返回頂部 | 返回列表