It sounds like your User
context also needs a Game
entity. Note however that this is not necessarily the same Game
entity which is the root of the Game
context. These two bounded contexts may have different ideas of what a Game
is, and what properties it has. Only the identity ties the two Game objects together.
User Context
{
Aggregate Root User
{
Identity;
Name;
OwnedGames : List of Game value entities
}
Value Entity Game
{
Identity;
Name;
}
}
Game Context
{
Aggregate Root Game
{
Identity;
Name;
Owner : User value entity
HighScore : int
TimesPlayed : int
... A whole bunch of other properties which are not relevant in the User context
}
Value Entity User
{
Identity;
Name;
// No OwnedGames property, in this context we don't care about what other games the user owns.
}
}