根據耦合性從低到高為非直接耦合、數據耦合、標記耦合、控制耦合、外部耦合、公***耦合和內容耦合。
耦合度就是某模塊(類)與其它模塊(類)之間的關聯、感知和依賴的程度,是衡量代碼獨立性的壹個指標,也是軟件工程設計及編碼質量評價的壹個標準。耦合的強度依賴於以下幾個因素:(1)壹個模塊對另壹個模塊的調用;(2)壹個模塊向另壹個模塊傳遞的數據量;(3)壹個模塊施加到另壹個模塊的控制的多少;(4)模塊之間接口的復雜程度。
耦合按從強到弱的順序可分為以下幾種類型:
(1)內容耦合。當壹個模塊直接修改或操作另壹個模塊的數據,或者直接轉入另壹個模塊時,就發生了內容耦合。此時,被修改的模塊完全依賴於修改它的模塊。類與類之間直接調用或繼承關系都是屬於這種耦合。
(2)公***耦合。兩個及兩個以上的模塊***同引用壹個全局數據項就稱為公***耦合。
(3)控制耦合。壹個模塊在界面上傳遞壹個信號(如開關值、標誌量等)控制另壹個模塊,接收信號的模塊的動作根據信號值進行調整,稱為控制耦合。
(4)標記耦合。模塊間通過參數傳遞復雜的內部數據結構,稱為標記耦合。此數據結構的變化將使相關的模塊發生變化。
(5)數據耦合。模塊間通過參數傳遞基本類型的數據,稱為數據耦合。
(6)非直接耦合。模塊間沒有信息傳遞時,屬於非直接耦合。