高內聚低耦合

2022-04-03 22:30:27 字數 984 閱讀 4914

高內聚低耦合,是軟體工程中的概念,是判斷設計好壞的標準,主要是物件導向的設計,主要是看類的內聚性是否高,耦合度是否低。

內聚就是乙個模組內各個元素彼此結合的緊密程度,高內聚就是乙個模組內各個元素彼此結合的緊密程度高。

所謂高內聚是指乙個軟體模組是由相關性很強的**組成,只負責一項任務,也就是常說的單一責任原則。

耦合:乙個軟體結構內不同模組之間互連程度的度量(耦合性也叫塊間聯絡。指軟體系統結構中各模組間相互聯絡緊密程度的一種度量。模組之間聯絡越緊密,其耦合性就越強,模組的獨立性則越差,模組間耦合的高低取決於模組間介面的複雜性,呼叫的方式以及傳遞的資訊。) 對於低耦合,粗淺的理解是:

乙個完整的系統,模組與模組之間,盡可能的使其獨立存在。

也就是說,讓每個模組,盡可能的獨立完成某個特定的子功能。

模組與模組之間的介面,盡量的少而簡單。

如果某兩個模組間的關係比較複雜的話,最好首先考慮進一步的模組劃分。

這樣有利於修改和組合。

軟體架構設計的目的簡單說就是在保持軟體內在聯絡的前提下,分解軟體系統,降低軟體系統開發的複雜性,而分解軟體系統的基本方法無外乎分層和分割。但是在保持軟體內在聯絡的前提下,如何分層分割系統,分層分割到什麼樣的力度,並不是一件容易的事,這方面有各種各樣的分解方法,比如:關注點分離,面向方面,物件導向,面向介面,面向服務,依賴注入,以及各種各樣的設計原則等,而所有這些方法都基於高內聚,低耦合的原則。 高內聚和低耦合是相互矛盾的,分解力度越粗的系統耦合性越低,分解力度越細的系統內聚性越高,過度低耦合的軟體系統,軟體模組內部不可能高內聚,而過度高內聚的軟體模組之間必然是高度依賴的,因此如何兼顧高內聚和低耦合是軟體架構師功力的體現。

高內聚,低耦合的系統有什麼好處呢?事實上,短期來看,並沒有很明顯的好處,甚至短期內會影響系統的開發進度,因為高內聚,低耦合的系統對開發設計人員提出了更高的要求。高內聚,低耦合的好處體現在系統持續發展的過程中,高內聚,低耦合的系統具有更好的重用性,維護性,擴充套件性,可以更高效的完成系統的維護開發,持續的支援業務的發展,而不會成為業務發展的障礙。[2]

高內聚,低耦合

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

高內聚,低耦合

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

高內聚低耦合

明確一點,乙個程式如果是高內聚零耦合會是最完美的,但是沒有絕對的零耦合。也就不存在什麼完美的程式了。1 什麼是高內聚 低耦合?首先了解什麼是內聚 耦合 1.1.1內聚性 每乙個程式中可能會按照不同功能,將整個 段劃分為不同的模組,每乙個模組內部元素彼此之間會有某些聯絡,此種聯絡就是內聚性。同乙個模組...