1. 程式人生 > 其它 >高內聚低耦合通俗解釋

高內聚低耦合通俗解釋

先看下百度百科的解釋:
高內聚低耦合,是 軟體工程 中的概念,是判斷軟體設計好壞的標準,主要用於程式的 面向物件 的設計,主要看類的內聚性是否高, 耦合度 是否低。
目的是使程式模組的可重用性、移植性大大增強。
通常程式結構中各模組的內聚程度越高,模組間的耦合程度就越低。
內聚是從功能角度來度量模組內的聯絡,一個好的內聚模組應當恰好做一件事,它描述的是模組內的功能聯絡;
耦合是軟體結構中各模組之間相互連線的一種 度量 ,耦合強弱取決於模組間介面的複雜程度、進入或訪問一個模組的點以及通過介面的資料。

通俗解釋:
內聚就是模組內部之間的聯絡,耦合就是模組與模組之間的聯絡。

高內聚是加強模組內部之間的聯絡,使得模組內部的資料緊密性很強,沒有其他相關度小的資料影響,讓模組的獨立性極大提高,如果一個模組的內聚性低,說明模組內部有很多其他資料,那麼改動的時候就會影響到其他資料牽扯到的模組。

低耦合就是要儘量減少模組與模組之間的聯絡,使得呼叫一個模組時沒必要去考慮其他模組是否受影響,因為他們之間獨立性很強。

就拿函式來說,你的遞迴函式裡面的資料都只和你要實現的遞迴函式有關,不要把裡面的資料放到另一個排序函式中執行處理,不然的話你每次遞迴函式的執行是與這個排序函式掛鉤的,那麼如果我想要用你這裡的遞迴函式,還得把你的排序函式也拿過來,說明程式模組的可重用性和可移植性很差,而這裡的函式其實就是模組,這個例子就是典型的低內聚高耦合的例子。

讀完了再去回味一下這句話:
高內聚:儘可能類的每個成員方法只完成一件事(最大限度的聚合);
低耦合:減少類內部,一個成員方法呼叫另一個成員方法。

再來回味一下百度百科的解釋吧:
高內聚低耦合,是 軟體工程 中的概念,是判斷軟體設計好壞的標準,主要用於程式的 面向物件 的設計,主要看類的內聚性是否高, 耦合度 是否低。
目的是使程式模組的可重用性、移植性大大增強。
通常程式結構中各模組的內聚程度越高,模組間的耦合程度就越低。
內聚是從功能角度來度量模組內的聯絡,一個好的內聚模組應當恰好做一件事,它描述的是模組內的功能聯絡;
耦合是軟體結構中各模組之間相互連線的一種 度量 ,耦合強弱取決於模組間介面的複雜程度、進入或訪問一個模組的點以及通過介面的資料。