Я разрабатываю онлайн-портал вакансий, используя шаблоны DDD. Есть много «объектов», которые я выяснил, например, пользователи, должности, роли, опыт, опыт, диапазон опыта, страна, штат, город, адрес, подписки и т. Д.
У меня вопрос: как мне определить, что из них является сущностью, объектом значения или совокупностью? Посоветуйте мне, если вы когда-либо сталкивались с той же дилеммой.
Я принял следующее решение:
Объекты - Пользователь, Работа, Значение пакета подписки Объекты - Роль, Опыт, Диапазон опыта, Город, Штат, Страна
Я знаю, что мы не должны думать о постоянстве при моделировании DDD, но возникло сомнение, что у любых объектов значений, которые я храню в базе данных, должен быть идентификатор или нет?
если у них есть идентификатор, не нарушают ли они фундаментальный принцип ValueObjects, и если мы не сохраняем их с идентификаторами, то как ссылаться на них в полях внешнего ключа?
Пожалуйста, помогите мне ответить на эти вопросы.
Если вы можете предложить, какие из вышеупомянутых объектов являются сущностями, какие - объектами значений, а какие - агрегатами, это было бы замечательно.
Заранее поблагодарив