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