高內聚低耦合

2021-09-29 08:41:44 字數 812 閱讀 8905

明確一點,乙個程式如果是高內聚零耦合會是最完美的,但是沒有絕對的零耦合。也就不存在什麼完美的程式了。

1 什麼是高內聚/低耦合?

首先了解什麼是內聚/耦合

1.1.1內聚性:每乙個程式中可能會按照不同功能,將整個**段劃分為不同的模組,每乙個模組內部元素彼此之間會有某些聯絡,此種聯絡就是內聚性。同乙個模組中元素聯絡越加緊密,那就意味著其內聚性就高,反之則不然。

1.1.2耦合性:除過模組內部的聯絡外,模組之間也有一些關係,這種關係就是所謂的耦合性,模組之間相互影響的力度愈大耦合性就越強。反之則亦然。

舉個栗子,現在有兩個大團隊,一為a,一為b;a中有a1、a2、a3等多個小的團隊,b中也是有著多個團隊。現在有乙個功能要求a、b兩個團隊合作完成;討論:

首先給定以下兩種結果:

高耦合:a、b兩個大團隊之間的結果相互影響或者其一牽制另乙個,進而形成高耦合;

高內聚:a、b兩個團隊中的每乙個小組之間相互團結合作,每乙個小組實現的具體功能相互影響,而最終實現本組所負責的部分功能,此能夠體現高內聚性;

低內聚低耦合反之即可。對應的組合既能夠達到高內聚低耦合要求。

在一定時候,內聚和耦合之間也存在相互牽制的效果,一定程度上,內聚性的增強一定程度上會降低耦合性。

無論是想要實現高內聚、低耦合都需要花費一定的時間從各個方向出發去思考設計;這可能也在一方面體現了演算法的精妙之處吧,只是乙個較為簡單的思路便可能減少很多不必要的開支。

仍在持續更新學習中,如有錯誤,歡迎指正!!

高內聚,低耦合

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

高內聚,低耦合

內聚,更為專業的說法叫功能內聚,是對軟體系統中元素職責相關性和集中度的度量。如果元素具有高度相關的職責,除了這些職責內的任務,沒有其它過多的工作,那麼該元素就具有高內聚性,反之則為低內聚性。其實結合oop的思想,高內聚應該是更加趨向於介面化,工廠模式可以很容易體現這種思想。即方法呼叫,只要通過相應的...

高內聚 低耦合

高內聚 低耦合是軟體設計的普遍原則,但在實際的工作中,有時我們並不能清楚的認識到關於它們的兩個問題 1 為什麼要高內聚 低耦合。2 如何做到高內聚 低耦合。高內聚 低耦合這個概念出現的比較早,也是我們在接觸軟體設計時被告知的第一條原則。但很多人並不清楚,它能給我們帶來什麼實際的好處,在與有些同事們討...