私は、集約ルート「注文」を持っている、そしてそれは内部的にその「ステータス」フィールドを設定し、その上に多数の方法がいる: CQRSでは、aggrregateで許容されるメソッドのリストをUIにどのように伝えますか?
- を提出するには、ホールド を脱ぎます
- 確認
- キャンセル
- など
使用可能なアクションは、注文の現在のステータス(例:既に保留中の場合は保留にすることはできません)。問題は、どのコマンドが利用可能かをUIに伝えるためのクエリを提供する必要があるため、そうでなければInvalidOperationException
を投げる操作を隠すことができるということです。
どのようにDRY違反を最小限に抑えることができますか?
+1 - 合意しました。これ以上追加する必要はありません - これはあなたがそれを行う方法はかなりです –
ああ、それはちょうどセクシーです!ありがとう! –