什麼是聚合根

2021-09-08 03:43:44 字數 502 閱讀 9024

每個聚合都有乙個根實體(聚合根,aggregate root),這個根實體是聚合所表述的領域概念的主體,外部物件需要訪問聚合內的實體時,只能通過聚合根進行訪問,而不能直接訪問。從技術角度考慮,聚合確定了實體生命週期的關注範圍,即當某個實體被建立時,同時需要建立以其為根的整個聚合,而當持久化某個實體時,同樣也需要持久化整個聚合。比如,在從外部持久化機制重建「客戶」物件的同時,也需要將其所擁有的「信用卡」賦給「客戶」實體(具體如何操作,根據需求而定)。不要去關注聚合內實體的生命週期問題,如果你真的這麼做了,那麼你就需要考慮下你的設計是否合理。

領域模型需要根據領域概念分成多個聚合,每個聚合都有乙個實體作為「聚合根」,通俗地說,領域物件從無到有的建立,以及crud操作都應該作用在聚合根上,而不是單獨的某個實體。當你的**需要直接對聚合內部的實體進行crud操作時,就說明你的模型設計已經存在問題了。

為聚合的另一層意義就是界定持久化的範圍。換句話說,聚合中的所有物件都是「同時有,同時無」。

什麼是聚合根

每個聚合都有乙個根實體 聚合根,aggregate root 這個根實體是聚合所表述的領域概念的主體,外部物件需要訪問聚合內的實體時,只能通過聚合根進行訪問,而不能直接訪問。從技術角度考慮,聚合確定了實體生命週期的關注範圍,即當某個實體被建立時,同時需要建立以其為根的整個聚合,而當持久化某個實體時,...

什麼是 reduce,什麼是聚合函式

reduce 方法對陣列中的每個元素執行乙個由您提供的reducer函式 公升序執行 將其結果彙總為單個返回值 const array1 1,2,3,4 const reducer accumulator,currentvalue accumulator currentvalue 1 2 3 4 c...

什麼是根檔案系統

linux支援多種檔案系統型別,在嵌入式上常用的有 romfs,jffs2,nfs,cramfs,yaffs等等。在linux系統中是通過mount命令來掛載不同的檔案系統。在arm linux中常用的檔案系統的配置 ram disk driver ext2 mtd driver jffs2 yaf...