DDD Модельная композиция и ограниченный контекст - PullRequest
0 голосов
/ 25 мая 2018

После многих встреч с владельцем продукта (не экспертом в области) у меня есть понимание варианта использования, описанного в следующих шагах:

  1. Боб, покупатель, может сделать proposal, т. Е.список товаров / услуг, которые он хочет приобрести.Пример: 10 красных ручек за 1 евро в Amazon (поставщик)
  2. Лиза, административный персонал, может принять во внимание это предложение и получить commitment.Она также может изменить поставщика.Она должна добавить, как финансировать эти товары (какая организационная единица будет участвовать, характер покупки (инвестиции, ...)).
  3. Моника, менеджер, может подтвердить это обязательство.
  4. И в этот момент Боб может отправить заказ поставщику.

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

Один из способов моделирования этого обязательства - использовать универсальный тип Commitment<T>, где T можетпринять форму предложения на товары, публичное уведомление рынка, что-то еще.Этот объект commitment может быть дополнен новыми данными и поведением.

У меня есть некоторые проблемы для определения границ (т. Е. Нарисовать карту контекста).Где мои ограниченные контексты?Если объект Commitment<T> означает Обязательство и T живут для меня в одном и том же ограниченном контексте.

Если все формы предложений (товары, открытый рынок) + обязательства живут вместе, тогда у меня есть только один большой ограниченный контекст.

Как вы моделируете что-то подобное: исходный объект, который является полиморфными может быть обогащен разными актерами с разными ролями в течение всей своей жизни?

Мой пример напоминает мне кое-что, что я читаю где-то, что читаю.В статье описан Book пример, в котором книга имеет различное значение в течение своей жизни / рабочего процесса:

  1. в начале, для Книги мы исправляем ошибки и ищем окончательный заголовок,
  2. на заключительном этапе, с точки зрения логистики, нас интересует только размер, количество страниц, его ISBN

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

...