境界づけられたコンテキストのワークフロー
設計を図示する際には、ワークフローを入力と出力を持つ小さなパイプとして表現する
https://scrapbox.io/files/66908c5f0109d9001df2247c.png
境界の外からトリガーされるワークフロー(Public Workflow)は、境界から少しだけはみ出すようにする
ワークフローは常に単一の境界づけられたコンテキスト内に含まれており、複数のコンテキストを介して E2E でシナリオを実装することは無い 境界づけられたコンテキスト内ではドメインイベントを避ける
OOP では、境界づけられたコンテキスト内で内部的に発生するドメインイベントを持つことが一般的 https://scrapbox.io/files/66908e56095569001c3be7ee.png
ワークフローオブジェクトが OrderPlaced を発生させる
ハンドラがそのイベントをリッスンして注文の確認書を送信する
別のハンドラが BillableOrderPlaced イベントを生成する
https://scrapbox.io/files/66908ec4e7a40a001cf5a61b.png
ミュータブルな状態を持つグローバルなイベントマネージャも存在しないため、理解と保守が容易