在早期的程序設計中,用一個模塊去修改另一個模塊的數據

耦合性指的是兩個模塊之間交互的程度。在早期的程序設計中,用一個模塊去修改另一個模塊的數據,或者是更改其他模塊內部的聲明是非常普遍的。這相當於java在運行時,用一個類中的方法去修改了另一個類方法的代碼。一般模塊之間可能的連接方式有七種,構成耦合性的七種類型:

在早期的程序設計中,用一個模塊去修改另一個模塊的數據

圖6-4 耦合性

1)內容耦合:如果一個模塊直接訪問另一個模塊的內部數據;或者一個模塊不通過正常入口轉到另一模塊內部;或者兩個模塊有一部分程序代碼重迭;或者一個模塊有多個入口,則兩個模塊之間就發生了內容耦合。

2)公共耦合 :若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。

3)外部耦合 :一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。

在早期的程序設計中,用一個模塊去修改另一個模塊的數據

4)控制耦合 :如果一個模塊通過傳送開關、標誌、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。

5)標記耦合 :如果一組模塊通過參數表傳遞記錄信息,就是標記耦合。事實上,這組模塊共享了某一數據結構的子結構,而不是簡單變量。這要求這些模塊都必須清楚該記錄的結構,並按結構要求對記錄進行操作。

在早期的程序設計中,用一個模塊去修改另一個模塊的數據

6)數據耦合 :如果一個模塊訪問另一個模塊時,彼此之間是通過數據參數(不是控制參數、公共數據結構或外部變量)來交換輸入、輸出信息的,則稱這種耦合為數據耦合。

7)非直接耦合 :如果兩個模塊之間沒有直接關係,它們之間的聯繫完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。這種耦合的模塊獨立性最強。


分享到:


相關文章: