電路的耦合知識(shí)
作者:佚名 文章來源:本站原創(chuàng) 點(diǎn)擊數(shù): 更新時(shí)間:2009-9-22
耦合是指兩個(gè)實(shí)體相互依賴于對(duì)方的一個(gè)量度.分為以下幾種:
非直接耦合:兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的
數(shù)據(jù)耦合:一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單數(shù)據(jù)參數(shù) (不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來交換輸入、輸出信息的。
標(biāo)記耦合 :一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。
控制耦合:如果一個(gè)模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。
外部耦合:一組模塊都訪問同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。
公共耦合:若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。
內(nèi)容耦合:如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合
(1) 一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù);
(2) 一個(gè)模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部;
(3) 兩個(gè)模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語言中);
(4) 一個(gè)模塊有多個(gè)入口。
耦合強(qiáng)度
耦合的強(qiáng)度依賴于以下幾個(gè)因素:(1)一個(gè)模塊對(duì)另一個(gè)模塊的調(diào)用;(2)一個(gè)模塊向另一個(gè)模塊傳遞的數(shù)據(jù)量;(3)一個(gè)模塊施加到另一個(gè)模塊的控制的多少;(4)模塊之間接口的復(fù)雜程度。
耦合按從強(qiáng)到弱的順序可分為以下幾種類型:
(1)內(nèi)容耦合。當(dāng)一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù),或者直接轉(zhuǎn)入另一個(gè)模塊時(shí),就發(fā)生了內(nèi)容耦合。此時(shí),被修改的模塊完全依賴于修改它的模塊。
(2)公共耦合。兩個(gè)以上的模塊共同引用一個(gè)全局?jǐn)?shù)據(jù)項(xiàng)就稱為公共耦合。
(3)控制耦合。一個(gè)模塊在界面上傳遞一個(gè)信號(hào)(如開關(guān)值、標(biāo)志量等)控制另一個(gè)模塊,接收信號(hào)的模塊的動(dòng)作根據(jù)信號(hào)值進(jìn)行調(diào)整,稱為控制耦合。
(4)標(biāo)記耦合。模塊間通過參數(shù)傳遞復(fù)雜的內(nèi)部數(shù)據(jù)結(jié)構(gòu),稱為標(biāo)記耦合。此數(shù)據(jù)結(jié)構(gòu)的變化將使相關(guān)的模塊發(fā)生變化。
(5)數(shù)據(jù)耦合。模塊間通過參數(shù)傳遞基本類型的數(shù)據(jù),稱為數(shù)據(jù)耦合。
(6)非直接耦合。模塊間沒有信息傳遞時(shí),屬于非直接耦合。
如果模塊間必須存在耦合,就盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,堅(jiān)決避免使用內(nèi)容耦合。
Tags:電路的耦合,知識(shí),耦合
責(zé)任編輯:admin