Где распределяются идентификаторы заказов? - PullRequest
3 голосов
/ 03 августа 2010

Извините за наивный вопрос;Я все еще работаю через понимание DDD.Допустим, у меня есть IOrderService.Это где у меня есть метод GetNewOrderID?Или, я думаю, в более общем смысле, как правильно распределять новые заказы в сценарии DDD?

Ответы [ 2 ]

0 голосов
/ 16 августа 2010

Мне нравится слушать слова, которые использует бизнес.Если они говорят, например, о том, что заказы по каталогам и заказы по телефону являются источниками заказов, я мог бы использовать OrderSource или IOrderSource вместо OrderService - последний - это код, а не бизнес.У меня может быть две реализации, или только одна, которая использует идентификатор, чтобы сказать «это с телефона», в зависимости от того, насколько разные процессы.

Если деловые люди говорят о получении идентификаторов из своего сервиса, тода, сделай это.Однако более вероятно, что они говорят о получении заказа от OrderSource, отправке его на склад или создании OrderForm и получении ReferenceNumber.Этот ReferenceNumber вполне может быть первичным ключом, но, вероятно, это не Id.

Язык, который бизнес использует, может помочь вам написать программное обеспечение, которое хорошо соответствует их процессу.Позволяет легко что-то менять и помогает определить, есть ли аспект предметной области, который мог бы использовать некоторое обучение.Шаблоны дизайна все те же, к которым вы привыкли;Я просто не называю свой код после тех, если у бизнеса есть лучшие условия.Смотрите вездесущий язык DDD и удачи!

0 голосов
/ 03 августа 2010

Если я не понял DDD, тогда это не наивный вопрос - вместо этого, когда неясно, где была исследована / понята недостаточная ответственность за домен Вещи как:

  • Какой формат идентификатора заказа, какая информация уходит в единый Номер заказа.
  • Требуется ли сохранить что-нибудь в точке получения новый OrderID - как кто просил это и т. д.
  • Есть ли требование запрашиваемые, но неиспользуемые идентификаторы заказов быть освобожден?

Одно или несколько из этих требований могут прояснить ситуацию.

...