Перспективы организации

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

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

Идеи? Опровержения? Я совсем не на базе?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
151
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

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

Ответ принят как подходящий

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

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

У меня есть книга Эрика, и я, видимо, забыл об этой главе. Спасибо за направление.

Craig Wilson 14.10.2008 21:39

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