私は、分散ドメイン駆動設計の背後にあるいくつかの概念の亀裂について話し、概念実証を構築しています。システム全体で特定の責任を持つ 3 つの C# ソリューションがあります。
私が持っている解決策は次のとおりです。
- 書き込みモデル (クライアントからコマンドを受け取り、イベントを作成して送信する)
- 読み取りモデル (書き込みモデルからイベントを受け取り、データベースを作成し、DTO サービスをクライアントに公開します。潜在的に 2 つの別個のソリューションになる可能性があります)
- クライアント (サービスを呼び出して必要なデータを取得し、書き込みモデルにコマンドを送信します)
3 つのソリューションはすべて、サービス バスを介してメッセージング (コマンド、イベント) を使用します。(私の場合はMassTransit)。
私の主な質問は、メッセージを含むアセンブリを作成し、各ソリューションがそのアセンブリを参照するのが一般的ですか?
特別評価:この POC で、私が行っていることで奇妙または問題があると思われることはありますか? このタイプのシステムを作成する際に知っておくべき追加情報はありますか?