制限された各コンテキストには、コンテキスト間バスからメッセージをプルし、メモリ内バス(Reactive Extensions、またはhttps://github.com/flq/MemBus)を介してローカルにメッセージをディスパッチするイベントメッセージプロセッサがあります。
mycompany.accounts.infrastructure.messages
DDDの本では、やなどのプロジェクト内のモジュールにメッセージを配置することについて説明していますmycompany.ordering.infrastructure.messages
。
複数のコンテキストを持つ私にとっての問題は、これらのメッセージを参照すると循環参照につながる可能性があります。
さまざまな制限付きコンテキストメッセージングコントラクトを整理する最善の方法:
各境界コンテキストには、他の境界コンテキストが参照できるように、そのコンテキストで可能なすべてのメッセージを含む個別のプロジェクトがありますか?
または、コンテキスト間バスを経由するすべてのメッセージ用に個別の共有ライブラリを用意する方がよいでしょうか。