Что если значение нужно исправить?

Я знаю, что DDD предлагает создавать отдельные варианты использования для каждой бизнес-операции.

Представьте, что у вас есть совокупность игроков. Имеет адрес объекта значения.

DDD не позволяет создавать UpdatePlayer() метод на PlayerApplication слой. Вместо этого мы должны создать конкретные варианты использования, в которых заинтересован бизнес. Итак, вместо UpdatePlayer(), Я хочу иметь RelocatePlayerTo(Address newAddress),

Что если после переезда я заметил, что допустил ошибку в newAddress? Как я могу настроить адрес? Например, я неправильно написал название улицы или ввел неправильный номер #.

Должен ли я создать новый вариант использования AdjustPlayerAddress? И новый DomainEvent PlayerAddressHasBeenAdjusted?

1 ответ

Что если значение нужно исправить?

Важное соображение: авторитетный источник данных - ваша модель или что-то еще?

Например, авторитетным источником моего адреса является реальный мир. Правильное написание зависит от всех видов вещей, которые не находятся под контролем модели. В этом случае мы действительно должны думать о том, что модель хранит в виде копии данных, которая, возможно, устарела.

В этой ситуации API для сущности будет стремиться к анемии (на самом деле, вы собираетесь написать все возможные причины, по которым адрес может измениться? И вы уверены, что я, как субъект, собираюсь быть готовым поделиться этим с вами?)

Однако для ситуаций, когда рассматриваемые данные принадлежат модели, гораздо более вероятно, что вам следует создавать конкретные потоки, которые описывают интересные бизнес-процессы на работе.

Иногда это поможет быть более точным о том, что происходит. Например, что произойдет, если вы думаете о ChangeOfAddress просьба быть его собственной вещью? и тогда возникает проблема, как эта информация перемещается по всей вашей системе.

Основная идея не в том, что "ты не должен использовать CRUD", а в том, что язык должен соответствовать языку домена. Ваш основной источник для написания идей должны быть вашими экспертами.

Другие вопросы по тегам