Перспективы сущностей - PullRequest
       24

Перспективы сущностей

4 голосов
/ 14 октября 2008

Контекст: Итак, я пытаюсь построить смехотворно сложную модель предметной области. Разговаривая с пользователями, существует несколько способов использования системы (например: один способ - с точки зрения работника; другой - с точки зрения работодателя). В действительности это несколько приложений, повторно использующих основной домен.

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

Идеи? Опровержения? Я полностью вне базы?

Ответы [ 2 ]

4 голосов
/ 14 октября 2008

Нет, это абсолютно уместно. Эван называет эти «перспективы» ограниченным контекстом в своей книге.

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

2 голосов
/ 14 октября 2008

Я не думаю, что вы должны пытаться заранее определить «основной домен». Пусть это всплывет над процессом разработки. Кроме того, все, что не является общим для двух (или более) точек зрения, не должно быть в «ядре».

Например, построить часть системы с точки зрения сотрудника. Это может побудить вас создать объекты типа «Проект», «Задача» и «Заказчик». Затем построить часть с точки зрения работника. Это может побудить вас создать новые объекты и повторно использовать «Проект» и «Задача». Именно тогда я перенесу «Проект» и «Задача» в «базовую библиотеку», доступную для остальной системы.

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

...