Вы разрабатываете свою модель предметной области на основе ваших бизнес-требований, а не на том, как ее нужно сохранить.
В этом сценарии, если Working Hours
можно манипулировать только в пределах домена User
и если вы думаете, что User
является единственной требуемой совокупностью, то Working Hours
не следует делать совокупной. Тем не менее, это не мешает вам сохранять ваши данные в чистом виде в вашем хранилище данных. Стратегия хранения ваших данных также во многом зависит от вашего типа хранилища данных.
Например, если вы используете SQL и ваши данные хранятся в нескольких таблицах, вы можете Commit
или Rollback
вся транзакция. Как вы реализуете, это не привязано к DDD, если вы придерживаетесь концепции, что агрегаты должны обновляться только через сущность root.
Если вы используете No- SQL базу данных, такую как Cosmos DB
, вы можете загрузить или сохранить весь документ. В этом случае вы будете иметь дело только с хранилищем User
.
Надеюсь, это поможет.