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