オブジェクトの評価には複雑なものも存在する。それらはしばしば、アプリケーションサービスに記載されてしまうことがあるが、オブジェクトの評価はドメインの重要なルールである。 そこで、「仕様」として切り離し、解決する

「仕様」はあるオブジェクトがある評価基準に達しているかを判定するオブジェクト

ちょっとDDD本ではわかりずらかったので、記事を参考にする。

DDD - 仕様パターンの紹介 - yujiro's blog

複雑なオブジェクトの評価が必要になった時

  1. ドメインオブジェクトに記載
    1. でも、複数のドメインオブジェクトにまたがった評価の場合どこに記述すればいいかわからない
  2. アプリケーションサービスに記載
    1. ドメインのロジックがアプリケーションサービスに滲み出るのは問題
  3. そこで、「仕様」を切り出して解決する