耦合按從強到弱的順序可分為以下幾種類型:
(1)內容耦合。當一個模塊直接修改或操作另一個模塊的數據,或者直接轉入另一個模塊時,就發生了內容耦合。此時,被修改的模塊完全依賴于修改它的模塊。這是最高程度的耦合,也是最差的耦合。
(2)公共耦合。兩個以上的模塊共同引用一個全局數據項就稱為公共耦合。
(3)控制耦合。一個模塊在界面上傳遞一個信號(如開關值、標志量等)控制另一個模塊,接收信號的模塊的動作根據信號值進行調整,稱為控制耦合。
(4)標記耦合。模塊間通過參數傳遞復雜的內部數據結構,稱為標記耦合。此數據結構的變化將使相關的模塊發生變化。
(5)數據耦合[1]。模塊間通過參數傳遞基本類型的數據,稱為數據耦合。
(6)非直接耦合。模塊間沒有信息傳遞時,屬于非直接耦合。
如果模塊間必須存在耦合,就盡量使用數據耦合,少用控制耦合,限制公共耦合的范圍,堅決避免使用內容耦合。