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