高內聚,低耦合

2022-09-05 06:45:11 字數 608 閱讀 4932

之前一直對「高內聚,低耦合」這句話不太理解。。

高內聚在《**大全》書中解釋是:「類內部的子程式或者子程式內所有的**在支援乙個中心目標上的緊密程度--這個類的目標是否集中,當乙個類的**越集中在乙個中心目標的時候,就越容易記住這些**功能所在」。我的理解就是指乙個模組使內各個元素彼此結合的緊密程度高,且模組內所有元素共同完成乙個功能。**就體現在乙個類只形容乙個事物物件,乙個方法只執行一種功能操作,乙個功能可以是多個方法的結合,但每個方法盡快做到單一。

而低耦合書中說:「耦合度表示類與類之間或者與子程式之間關係的緊密程度,耦合度設計的目標是建立出小的,直接的,清晰的類或子程式,是它們與其他類或者子程式之間關係盡可能地靈活,這就叫做『鬆散耦合』,適用於類與子程式」,並且還舉了乙個火車的例子:大致是火車之間的連線是通過環鉤彼此相連,使列車之間或車廂之間很容易就連線起來,但試想如果用其他方式比如用線或螺絲之類的,將使連線工作變得尤為複雜,都是為了達到同樣的效果,為什麼不用更簡單的方式呢,程式設計也是如此,低耦合可以時我們模組之間以更少的方式連線。所以真正想要做到低耦合就是讓模組不依賴或少依賴其他模組,能用乙個引數就不用兩個,能用簡單資料型別做引數就不用物件型別,能用簡單物件就不用物件引數...

想起之前寫的**,功能雖然實現了,但卻很混亂吶。。。

高內聚,低耦合

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

高內聚,低耦合

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

高內聚低耦合

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