DDD でよく知られているアドバイスは、集約ルートはドメイン サービスを使用しないというものです。ドメイン サービスは、動作を実現するために 2 つの集約ルートを調整します。
Rinat Abdullin がBuilding Blocks Of CQRSというタイトルで書いたこのブログを見て、本当に驚きました。[ドメイン サービス] セクションの下に、ドメイン サービスが集約ルートに挿入されていることが表示されます。
集約ルートはドメイン サービスを受け入れることができますか?
DDD でよく知られているアドバイスは、集約ルートはドメイン サービスを使用しないというものです。ドメイン サービスは、動作を実現するために 2 つの集約ルートを調整します。
Rinat Abdullin がBuilding Blocks Of CQRSというタイトルで書いたこのブログを見て、本当に驚きました。[ドメイン サービス] セクションの下に、ドメイン サービスが集約ルートに挿入されていることが表示されます。
集約ルートはドメイン サービスを受け入れることができますか?
その記事は無視してください。それはずっと前に書かれたものであり、明らかに間違っています。AggregateRootおよびDomainServiceパターンを使用してモジュールを実装する場合は、以下を担当するより高度なロジック (リクエスト ハンドラーなど) を用意することをお勧めします。
ある意味そうです。AR がそのジョブの一部を実行するためにサービスを本当に必要とする場合は、それをメソッド引数として挿入できます。AR がその動作のほとんどにサービスを必要とする場合、おそらくモデル化が正しくありません。