1か月ほどDDDを読んで調査した後、私は自分のプロジェクトを開始することを決め、これらの制限されたコンテキストでDDDを作成しました>
- クライアント
- 製品
- 注文
- 課金
各境界付きコンテキストには、プレゼンテーション層、ドメイン層、永続層としてREST APIがあります。
これまでのところ、コードはスムーズに実行されていますが、モノリシックな世界から来ているので、私はまだ次のことを理解しようとしています:
- 新しいクライアントを作成したい場合、新しい請求書を発行したい場合、たとえば、国のアクセスリストなど、新しい注文を作成したい場合。私は:
a)各BCの国のリストを作成する
b)国BC-> APIを作成し、それを使用して利用可能な国のリストを取得する
c)サードパーティのAPIを使用し、各BCの腐敗防止層を介してデータをプルする
- 破損防止レイヤーまたはアダプターレイヤーを使用してサードパーティAPIと統合する場合、ドメインモデルにどのデータを含める必要がありますか?たとえば、zendesk APIをクライアントBCと統合したい場合。ドメインにticketIDのみが必要ですか、それともクライアントBCでアクセスして使用するすべてのデータをZendeskから抽出する必要がありますか?
MVCアプリが実際にAPI(境界コンテキストのプレゼンテーションレイヤー)からデータを取得している場合、各BCの境界を明確に定義することは非常に困難です。それは、適切に設計されたBCが、追加のAPIを消費する必要なしに単一のMVCコントローラーを提供することを意味しますか?