Вообще говоря, модели записи (сгенерированные из команд) не отражают модели чтения (выборки из запросов).
Модели записи (агрегированные корни) предназначены для обеспечения согласованности и инвариантов домена, в то время какМодели чтения в основном используются для создания пользовательского интерфейса и / или API.
Если вы разрабатываете простой домен для блога, у вас может быть совокупность Post
и PostSummary
, а также PostDetails
или дажепростой Post
.
Оба названы одинаково, но в другом контексте использования.
Ваш Агрегат, вероятно, будет ссылаться на своего автора только по ссылке (id), тогда как ваша модель чтения может быть плоскойи предварительно собранный со всей необходимой информацией, необходимой для вашего пользовательского интерфейса.
В итоге вы получите две модели, в которых ваш агрегат даже не предоставляет никаких методов получения (это цель чтения модели).