ドメインイベントを実装する場合、イベントハンドラーは、純粋にドメインの問題にのみ使用する必要があります。あなたがビジネスの専門家と話し合う何か、またはそれらはドメインモデルに興味を持っている何かによって使用されるために開かれていますか?
これはおそらく簡単な例で最もよく説明されます。従業員に仕事をスケジュールするためのカレンダーアプリケーションを考えてみましょう。
次のドメインイベントが発生する可能性があります...
AppointmentAdded AppointmentRemoved AppointmentContentChanged AppointmentMoved
これらのイベントのハンドラーがあります。たとえば、予定が従業員の勤務時間外の時間に移動された場合、警告フラグを設定します。
もちろん、これらのイベントに関心のあるアプリケーションの懸念事項があります。たとえば、予定がカレンダーに追加された場合、後で変更をコミットできるように、それを作業単位に追加する必要があります。
これらのアプリケーションの懸念はドメインイベントの利用者である必要がありますか、それとも代わりに個別のシステムイベントを発生させて処理する必要がありますか?