分為以下幾種:
非直接耦合:
兩個模組之間沒有直接關係,它們之間的聯繫完全是通過主模組的控制和調用來實現的數據耦合:一個模組訪問另一個模組時,彼此之間是通過簡單數據參數 (不是控制參數、公共數據結構或外部變數) 來交換輸入、輸出信息的。
標記耦合 :
一組模組通過參數表傳遞記錄信息,就是標記耦合。這個記錄是某一數據結構的子結構,而不是簡單變數。
控制耦合:
如果一個模組通過傳送開關、標誌、名字等控制信息,明顯地控制選擇另一模組的功能,就是控制耦合。
外部耦合:
一組模組都訪問同一全局簡單變數而不是同一全局數據結構,而且不是通過參數表傳遞該全局變數的信息,則稱之為外部耦合。
公共耦合:
若一組模組都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、記憶體的公共覆蓋區等。
如果發生下列情形,兩個模組之間就發生了內容耦合
(1) 一個模組直接訪問另一個模組的內部數據;
(2) 一個模組不通過正常入口轉到另一模組內部;
(3) 兩個模組有一部分程式代碼重疊(只可能出現在彙編語言中);
(4) 一個模組有多個入口。