高內聚 低耦合

2022-02-11 05:11:08 字數 507 閱讀 5914

如果把pc電腦理解成大的軟體系統,任何部件如cpu、記憶體、硬碟、顯示卡都可以理解為程式中封裝的類或程式集,由於pc易拔插(高內聚、低耦合)的方式,不管哪乙個出問題,都可以在不影響其他部件的前提下進行修改或替換。

如單一原則,就剛才修電腦的事,顯然記憶體壞了,不應該稱為更換cpu的理由,他們各自的職責是明確的。

如開閉原則,記憶體不夠只需要插槽足夠就可以新增,硬碟不夠可以用行動硬碟,pc的介面是有限的,而軟體設計卻是可以無限擴充套件。

如依賴倒置原則,針對介面程式設計,而不要對實現程式設計,無論主機板、cpu、記憶體都是針對介面設計的,如果針對實現來設計,記憶體就要對應到具體某個品牌的主機板,那就會出現換記憶體需要把主機板也換了的尷尬。

如果pc裡cpu、記憶體、硬碟都需要依賴具體的主機板,主機板一壞,所有的部件都沒用了,這顯然不合理。反過來,如果記憶體壞了,也不應該造成其他部件不能用才對。而如果不管高層模組還是底層模組,他們都依賴於抽象,具體就是介面或抽象類,只要介面是穩定的,那麼任何乙個更改都不用擔心其他受到影響,這就使得無論高層模組還是底層模組都可以很容易被復用。

高內聚,低耦合

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

高內聚,低耦合

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

高內聚低耦合

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