Скажем, у меня есть объект, который по большей части имеет необходимые атрибуты и т. Д. Для двух разных приложений, потому что оба приложения нуждаются в их использовании. Возможно, что 10% атрибутов не будут использоваться в одном приложении. Лучше ли делиться этим объектом (и совокупным/ограниченным контекстом как общим ядром?) Или дублировать атрибуты и данные, которые хранятся? Одно приложение предназначено для конечных пользователей/действий, а другое приложение предназначено для управления пользователями/действиями.DDD-объект, разделяемый между двумя приложениями
ответ
Сущность обычно не разделяется между БК. У вас может быть еще один BC в игре. У вас должен быть один BC, который является системой записи для объекта. Все остальные БК должны быть ниже по течению и содержать только идентификационные и соответствующие биты данных. Обычно можно использовать архитектуру, основанную на событиях, для уведомления зависимых систем о любых соответствующих изменениях состояния данного объекта.
Возможно также, что вы пытаетесь разделить один BC. Возможно, сосредоточьтесь на стороне BC, в отличие от технической/прикладной стороны.
Надежда, что помогает :)
Недавно мы разработали приложение, которое участвует несколько модулей, используя много общих сущностей. Когда мы их разработали, мы переместили эти общие объекты в проект под общим доменом, а затем использовали все зависимые модули. Это оказалось катастрофой.
Хотя мы изначально обнаружили несколько атрибутов, которые были общими, мы выяснили, что мы разработали их для определенных модулей, противоречащих тому, как они использовались для других. Изменение сущностей в общем домене в соответствии с потребностями одного модуля иногда нарушало то, как они работали для других модулей. Мы не использовали подход, основанный на тестах, и он заставил найти возникающие ошибки утомительными.
Узнав об этой ошибке, мы должны были распознать и определить ограниченные контексты и идентифицировать сущности и связанные с ними атрибуты на ограниченный контекст. «Общий» объект должен быть определен для ограниченного контекста вместе с любыми атрибутами, которые необходимы для этого контекста. Некоторые атрибуты, безусловно, будут распространены, но поскольку они представляют собой отдельные ограниченные контексты, они должны быть объявлены для каждого объекта в ограниченном контексте.
Пойду немного, чтобы указать, где можно обменяться друг с другом. Каждый объект в ограниченном контексте имеет свой собственный репозиторий. Возможно, что «общие» сущности имеют одну и ту же базовую таблицу базы данных. Ответственность за реквизицию сущностей каждого БС несет ответственность за возврат соответствующих столбцов, чтобы вернуть соответствующий экземпляр объекта.
- 1. SCNNode, разделяемый между двумя диспетчерами просмотра, исчезает
- 2. связь между двумя приложениями
- 3. Сериализация между двумя приложениями
- 4. Конфликты между двумя приложениями
- 5. Обмен данными между двумя приложениями
- 6. M2M между двумя различными приложениями
- 7. Отправка сигналов между двумя приложениями
- 8. Весенняя безопасность между двумя приложениями
- 9. Асинхронная связь между двумя приложениями
- 10. Интерфейс AIDL между двумя приложениями
- 11. связь между двумя приложениями flex
- 12. Обмен данными между двумя приложениями
- 13. Межпроцессная связь между двумя приложениями
- 14. android связь между двумя приложениями
- 15. Как общаться между двумя приложениями
- 16. Использование url_for между двумя приложениями
- 17. Труба между двумя консольными приложениями?
- 18. Поделитесь интерфейсом между двумя приложениями?
- 19. Как общаться между двумя приложениями?
- 20. Связь между двумя приложениями C#
- 21. Связь между двумя приложениями Flex
- 22. Взаимное исключение между двумя приложениями
- 23. Связь между двумя отдельными приложениями
- 24. связь между двумя приложениями iPhone
- 25. Смешивание и Z-буфер, разделяемый между двумя отдельными шейдерными программами?
- 26. Как динамически перемещать разделитель/разделяемый между двумя макетами?
- 27. Как обмениваться данными между двумя приложениями с угловыми приложениями?
- 28. Как общаться между двумя приложениями в Android:
- 29. Способы обмена конфигурацией между двумя приложениями?
- 30. Сокетная связь между двумя приложениями на Android