Смешение данных технической интеграции с атрибутами предметной области в модели варианта использования шестиугольной архJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Смешение данных технической интеграции с атрибутами предметной области в модели варианта использования шестиугольной арх

Сообщение Anonymous »

Я работаю над системой, разработанной с использованием шестиугольной архитектуры.
В одном случае мне нужно загрузить объект домена вместе с дополнительными данными, полученными от внешнего поставщика через порт. Внешний поставщик возвращает как:
  • данные, которые явно являются частью бизнес-домена (используемые в бизнес-правилах), так и
  • технические метаданные, необходимые позже исходящему адаптеру для выполнения операции.
По соображениям производительности обе части информации поступают из одного и того же внешнего запроса, поэтому разделение их на несколько вызовов не является проблемой. вариант.
Чтобы смоделировать это, я создал объект, специфичный для варианта использования, который сочетает в себе:
  • основной объект домена,
  • некоторые дополнительные атрибуты домена, полученные из ответа поставщика
  • технические метаданные, необходимые позже для интеграции.
Концептуально что-то вроде:

Код: Выделить всё

class OperationModel {

DomainEntity entity;

DomainAttribute attribute;

IntegrationMetadata metadata; // only used by adapters

}
Метаданные не участвуют в бизнес-правилах и существуют только для того, чтобы адаптер инфраструктуры мог выполнить последующий вызов.
Мои опасения:
  • Приемлемо ли (с шестиугольной точки зрения) для модели варианта использования переносить метаданные технической интеграции вместе с данными предметной области?
  • Существует ли рекомендуемый шаблон для транспортировки данных интеграции через уровень приложения, не загрязняя модель предметной области, сохраняя при этом эргономичность кода?
Я пытаюсь сбалансировать: чистоту предметной области, ограничения производительности и ясность кода.
Что можно считать хорошим дизайном в этой ситуации?

Подробнее здесь: https://stackoverflow.com/questions/798 ... l-architec
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»