私たちはアプリでイベントソースを使用しており、多くのオブジェクトの変更を開始したユーザーを追跡する必要があります。現在、我々はこのようにしている私たちの方法の中で最もので、このドメインオブジェクトのセッションへのアクセス
class Order {
setNameBy(newname, User user) {
applyChange(new OrderRenamed(user.id, newname));
}
:
}
のようなコードを持っており、それらのすべては、私たちは、ドメインオブジェクト内のSessionContextにアクセスして考えて、この
setNameBy("a new name", SessionContext.currentUser)
のように呼ばれています。すなわち:それは一方で、より自然なシームとして
setNameBy(newname, User user) {
applyChange(new OrderRenamed(user.id, newname));
}
が
setName(newname) {
applyChange(new OrderRenamed(SessionContext.currenUser.id, newname));
}
なる私が個人的には、ドメインオブジェクト内のSessionContextにアクセスするために少し厄介な感じ後メソッドシグネチャを好みます。
このように、DDD/CQRSアプリではどのようにセッションデータを処理するのが最適ですか?ドメインオブジェクトのSessionContextにアクセスすることはできますか?または、イベントの豊富化などの他のメソッドを使用して、ドメインから発行されたイベントにこの情報を追加する必要がありますか?