Это первый раз, когда я применяю концепции DDD к реальной проблеме.
Я начал только с 1 ограниченного контекста, так как проект относительно небольшой. Однако я обнаружил, что классы почти идентичны, то есть очень похожие имена, очень похожие свойства, но другое поведение. Я начинаю думать, что они на самом деле принадлежат к разным ограниченным контекстам, поскольку сущности одинаковы и просто имеют разное значение в другом контексте. Это подтверждается тем фактом, что в приложении есть две совершенно разные группы пользователей.
Я немного почитал о том, как два объекта в разном ограниченном контексте могут общаться друг с другом. Я думаю, что я понимаю концепцию... но понятия не имею, как ее реализовать? Есть ли где-нибудь пример .net? т. е. совокупный корень в одном ограниченном контексте, публикующий событие в совокупном корне в другом ограниченном контексте? а также совокупный корень, вызывающий совокупный корень в другом ограниченном контексте.
И должен ли каждый ограниченный контекст иметь свой собственный сервисный уровень? репозиторий и уровень данных?