Я пытаюсь изучить и применить DDD к новому проекту, поэтому столкнувшись с вопросом, который может быть чем-то очень простым, но я, возможно, пропустил.Entity vs Value Object
Может ли ограниченный контекст содержать объект, а также объект значения для одного и того же объекта?
Мой вопрос возникает из-за того, что нам обычно нужен ViewModel, который обязан хранить детали, которые ближе к представлению, в дополнение к данным модели. Но бывают случаи, когда ограниченный контекст может использовать какой-либо объект в качестве ссылочного объекта в транзакции.
Например, возьмем гипотетический случай. Предположим, что у нас есть контекст Employee, где мы также имеем сущность Employee и подразделение. У нас будут идентификаторы для обоих объектов.
Отдел может быть создан/обновлен и т. Д. В этом домене. Затем мы можем добавить сотрудников в эти отделы.
Теперь, когда мы показываем сотрудника, мы хотели бы отобразить некоторую информацию о отделе, который может не понадобиться всему подразделению отдела. Нам может понадобиться около 50% деталей в отделе.
Мой вопрос в том, может ли у нас есть другой ValueObject для отдела в таких сценариях? Или это что-то сломает?
Если я не делаю это, то я был бы вынужден создавать и некоторые как гидрат детали Департамента на более низком уровне ..
сделать ли мое мышление смысл?
хм, думаю, что получаю. Поэтому лучше сохранять независимые модели просмотра и дополнительный сервис, который заполняет данные для сводки. Но имеет ли смысл иметь это резюме (в моем случае уменьшенную версию объекта), как объект ценности (в дополнение к сущности)? – Muthu
Это объект значения структурно, но я рекомендую не превращать его в «нормальный» объект значения в вашей модели домена, если это действительно не концепция домена. Представьте, что у вас есть пять разных классов, потому что вам нужно пять разных видов с различной детализацией. Теперь у вас будет 5 + 1 класс в вашем домене для той же концепции домена! – theDmi
да имеет смысл, спасибо – Muthu