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