В случае, если домен простой, с небольшим или отсутствующим поведением, вы можете придерживаться основанных на CRUD сущностей. В этом случае существует множество инструментов для управления генерацией и сохранением пользовательского интерфейса. Большая часть работы уже сделана ими, поэтому вы можете быстро производить программное обеспечение.
Если, однако, домен сложный и вам нужно использовать DDD, у вас может быть пользовательский интерфейс на основе CRUD, но уровень домена DDD. Вы должны сопоставить изменения пользовательского интерфейса с командами домена.
Например, если у вас есть флажок с именем accoundIsActive
, то после того, как пользователь нажмет кнопку «Отправить», вы проверите значение флажка и отправите команду ActivateAccount
или DeactivateAccount
.
Что касается выполнения нескольких команд в одной транзакции, вы можете создать команду массового изменения, состоящую из отдельных команд; таким образом, Aggregate выполнит команду массовых операций в одной транзакции.