文章目錄
- 前言
- 一、何為內聚?
- 1.1、7 種內聚類型及其描述
- 二、何為耦合?
- 2.1、7 種耦合類型及其描述
- 總結
前言
高內聚、低耦合是我們在軟件設計過程中必須遵循的一個重要原則,在整個軟件工程中占有很大的比重。而對于內聚和耦合你還是僅僅局限于“高內聚,低耦合”的模糊概念嗎?那你是如何判斷何為高低呢?本篇文章將帶你分別深度剖析和總結內聚與耦合的 7 種類型和描述,為在以后的項目開發與考試中更好地判斷類型助你一臂之力!一、何為內聚?
內聚是指模塊內部各元素之間聯系的緊密程度,也就是代碼功能的集中程度。
1.1、7 種內聚類型及其描述
模塊的內聚類型通常可以分為 7 種,我們根據內聚度從高到低排序,如下表所示:
內聚類型 | 描述 |
---|---|
功能內聚 | 完成一個單一功能,各個部分協同工作,缺一不可 |
順序內聚 | 處理元素相關,而且必須順序執行 |
通信內聚 | 所有處理元素集中在一個數據結構的區域上 |
過程內聚 | 處理元素相關,而且必須按特定的次序執行 |
瞬時內聚 | 所包含的任務必須在同一時間間隔內執行(如:初始化模塊) |
邏輯內聚 | 完成一組邏輯上相關的任務 |
偶然內聚 | 完成一組沒有關系或松散關系的任務 |
二、何為耦合?
耦合是指模塊之間相互聯系的緊密程度。
2.1、7 種耦合類型及其描述
模塊的耦合性類型通常分為 7 種,我們根據耦合度從低到高排序,如下表所示:
耦合類型 | 描述 |
---|---|
非直接耦合 | 沒有直接聯系,互相不依賴對方 |
數據耦合 | 借助參數表傳遞簡單數據 |
標記耦合 | 一個數據結構的一部分借助于模塊接口被傳遞 |
控制耦合 | 模塊間傳遞的信息中包含用于控制模塊內部邏輯的信息 |
外部耦合 | 與軟件以外的環境有關 |
公共耦合 | 多個模塊引用同一個全局數據區 |
內容耦合 | 一個模塊訪問另一個模塊的內部數據 一個模塊不通過正常入口轉到另一模塊的內部 兩個模塊有一部分程序代碼重疊 一個模塊有多個入口 |
總結
本文給大家介紹了軟件設計原則中兩個核心概念——內聚、耦合,并對兩個概念進行了闡述。同時分別補充了內聚與耦合各自的 7 種類型,便于我們判別其程度,在開發中更好地設計性能優良的軟件系統,盡量的減少由于內聚、耦合度差帶來后期維護和升級的困擾。我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!