領域中內聚的理解

2021-09-01 01:49:35 字數 651 閱讀 7999

領域中為什麼要有內聚?

將關聯減至最少的設計有助於簡化物件之間的遍歷,並在某種程度上限制關係的急劇增多。但大多數業務領域中的物件都具有十分複雜的聯絡,以至於最終會形成乙個很長、很深的物件引用路徑,我們不得不在這個路徑上追蹤物件。某種程度上,這種混亂狀態反映了現實世界,因為現實世界很少有清晰的邊界。軟體設計中乙個重要的問題。

問題的根源所在是模型,歸根到底是由於模型中缺乏明確定義的邊界,因此我們盡量使用某些模式使得模型更易於理解,設計更易於溝通。當模型被修改時,它將引導我們對實現做出修改。

什麼是領域中的內聚

aggregate就是一組相關物件的集合,我們把它作為資料修改的單元。每個aggregate都有乙個根(root)和乙個邊界(boundary)。邊界定義了aggregate內部都有什麼。在aggregate中,根是唯一允許外部物件保持對它的引用的元素,而邊界內部的物件之間則可以互相引用。

上圖中car和engine為根物件,而紅線為邊界,根據上面所說的,邊界中的物件可以互相引用,即car,tire,position,wheel可以相互之間引用不作限制,同時根中的物件可以儲存其他根物件的引用。

但是根外的物件訪問邊界中的物件只能通過根進行訪問,就如上圖的customer,我們不提倡直接訪問

tire。

高內聚低耦合的理解

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

關於內聚和耦合的理解

1.耦合 乙個模組依賴於另乙個模組,就是兩個模組之間有耦合,簡而言之,依賴就是耦合 模組間的耦合度是指模組之間的依賴關係,包括控制關係 呼叫關係 資料傳遞關係。模組間聯絡越多,其耦合性越強,同時表明其獨立性越差。降低模組間的耦合度能減少模組間的影響,防止對某一模組修改所引起的 牽一發動全身 的水波效...

對高內聚,低耦合的理解

內聚 乙個模組內各個元素彼此結合的緊密程度 耦合 乙個軟體結構內不同模組之間互連程度的度量 最近編碼的時候,總是在猶豫是把某個方法封裝在乙個類裡,還是單獨的封裝成乙個類。這讓我突然想起內聚耦合這兩個名詞。我們一直追求著,高內聚,低耦合。對於低耦合,我粗淺的理解是 乙個完整的系統,模組與模組之間,盡可...