如何理解高內聚低耦合

2022-02-24 06:11:20 字數 653 閱讀 2783

高內聚就是說相關度比較高的部分盡可能的集中,不要分散

例如內聚性要求強的話就像windows32中系統提供的api,裡面的函式太多了,都放在乙個dll中,那麼每個函式完成乙個功能。這樣強大的功能,會比較複雜,所以並不是完全的高內聚越高越好,還是要看實際的需要。當然維護起來也不是特別的方便。

低耦合就是說兩個相關的模組盡可以能把依賴的部分降低到最小,不要讓兩個系統產生強依賴

低耦合是用來度量模組與模組直接的依賴關係。耦合當然也可以這樣簡單的理解,我想懂電腦的應該都知道,cpu與主機板之間的關係,cpu如果是特殊的cpu必須使用特殊的主機板來支援,那麼如果說這個cpu不唯一依賴唯一主機板,那麼就認為這個cpu與主機板的關係是低耦合的關係。 

例子:比如訂單系統,訂單是跟庫存相關聯的,如果沒有庫存就沒有訂單,訂單強依賴庫存

如果我們把如何扣減庫存的邏輯做在訂單系統中,那麼訂單系統和庫存系統就耦合了

同樣,訂單系統中有扣減庫存的邏輯會造成訂單系統的功能比較分散,訂單系統的功能就不夠集中

所以我們把訂單中的庫存邏輯給拆分出來乙個獨立的庫存系統,對外暴露扣減庫存的介面,訂單系統可以通過這個暴露的庫存介面來扣減庫存

將訂單邏輯與庫存邏輯的依賴降低到最小,減掉了訂單系統與庫存的耦合

同事訂單系統只包含訂單處理的邏輯,庫存系統只包含了庫存的處理邏輯,兩個系統的業務上更加內聚

如何理解「高內聚低耦合」

起因 模組獨立性指每個模組只完成系統要求的獨立子功能,並且與其他模組的聯絡最少且介面簡單,兩個定性的度量標準 耦合性和內聚性。耦合性也稱塊間聯絡。指軟體系統結構中各模組間相互聯絡緊密程度的一種度量。模組之間聯絡越緊密,其耦合性就越強,模組的獨立性則越差。模組間耦合高低取決於模組間介面的複雜性 呼叫的...

高內聚低耦合的理解

應屆程式設計師,幾年的辯證唯物主義哲學愛好者談談對高內聚 低耦合的理解。理解乙個事物,需要從兩個方面去理解。乙個是 世界觀 乙個是 價值觀 世界觀,即某個事物包含了什麼客觀規律 價值觀,即事物對人有什麼價值。先談價值觀,對於萬事萬物,它們有一些普通而又特殊的屬性。普通在於從科學的角度,它們是必然 的...

高內聚,低耦合

大家都在說高內聚,低耦合。問題是什麼是高內聚?什麼是低耦合?那它們的作用是什麼?先來談談什麼是耦合,耦合就是不同模組之間粘稠的程度。耦合度高證明你的模組之間粘稠,不好剝離模組功能。造成後續修改難度加大,所謂 動一發而牽全身 當你的 粘稠在一起的時候,就代表你的 需要重寫了。那麼避免這些個事情的發生,...