Передаю привет тем кто заставляет пользователя ввести 100500 полей. Ну а если серьезно - раз все эти поля прошли какие то валидации и их так много, то пользователь вероятно расстроится если вы их разом потеряете и ему придется вводить их заново. Да, я намекаю что вам в домене нужна сущность "Черновик заказа", в нее будет происходить маппинг из входной Dto в вашем anti corruption layer (Controller например), а далее она попадает в уровень приложения где ее встречает OrderBuilder и уже докручивает до полноценного заказа. Собирать такой крупный объект в конструкторе я не советую.
А не было варианта его воодушевить?
Скорее всего вам надо было просто по другому определить aggregate root или выделить новые аггрегаты.
Вообще DDD не учит: "одна транзакция - один агрегат", это ваша вольная интерпретация, не сбивайте молодежь, они и так писать не научились.
А молодежь - все идем читать Эванса и Вернона)
Передаю привет тем кто заставляет пользователя ввести 100500 полей. Ну а если серьезно - раз все эти поля прошли какие то валидации и их так много, то пользователь вероятно расстроится если вы их разом потеряете и ему придется вводить их заново. Да, я намекаю что вам в домене нужна сущность "Черновик заказа", в нее будет происходить маппинг из входной Dto в вашем anti corruption layer (Controller например), а далее она попадает в уровень приложения где ее встречает OrderBuilder и уже докручивает до полноценного заказа. Собирать такой крупный объект в конструкторе я не советую.