Ravi
Ravi

Reputation: 2568

Aggregate root entities in DDD

I’m trying to understand Aggregate root in domain driven design. can aggregate root have deeply nested entity ? Like an entity within a entity or the aggregate roots are supposed to have shallow collections of entities ?

Thanks, Ravi

Upvotes: 1

Views: 281

Answers (1)

VoiceOfUnreason
VoiceOfUnreason

Reputation: 57367

An "aggregate root" will always be a single entity.

An "aggregate" may have many entities in it (of which exactly one plays the role of root). The entity graph within the aggregate can be deep.

Most aggregates have few entities; concurrent edits of two different aggregates is relatively straightforward to manage. Concurrent edits of a single aggregate means conflict. So we are normally trying to scale our aggregates so that the conflicts are necessary -- lots of incidental unnecessary conflict may indicate that our aggregate boundaries could be improved.

Upvotes: 1

Related Questions