2017-11-25 51 views

回答

2

是否有可能事件有兩個聚合?

都是和不是。

是的,一個事件通常會包含對多個「聚集」的引用。

UserPostCommentAdded: { 
    userId: 001ae072-1834-4b73-90af-666ec0edc04a 
    userPostId: 6c01a87c-e64f-466a-9f1a-b6af28049248 
} 

做什麼不正常看到的是,使用相同的事件來更新自己的狀態,兩種不同的集合體。也就是說,UserPost的關係是UserPost的責任,也就是User的責任,但不是都在同一時間

Usualy我在實現中看到單個aggregateId字段,不是嗎?

你有時會看到;但除非你做的事情非常專業化,否則「聚合」不會成爲你的域名語言的一部分,所以它對你的事件數據確實沒有意義。你可能會電梯域實體到元數據的一個標識符...

UserPostCommentAdded: { 
    data: { 
     userId: 001ae072-1834-4b73-90af-666ec0edc04a 
     userPostId: 6c01a87c-e64f-466a-9f1a-b6af28049248 
    } 
    metadata: { 
     aggregateId: 6c01a87c-e64f-466a-9f1a-b6af28049248 
    } 
} 

例如,你可能會如果你使用域不可知的管道路由您的活動圍繞做這樣的事情。 從這個意義上說,,你可能在元數據中只有一個aggregateId,首先標識寫的事件。

+0

Usualy我在實現中看到單個'aggregateId'字段,不是嗎? – WHITECOLOR