2010-12-08 9 views
0

「ユーザーYは製品Yをレビューできますか?」という質問に答えるメソッドがいくつかあります。質問に答える複雑なメソッドのための良い場所

public namespace Domain 
{ 
    public class User 
    { 
     ... 

     public bool CanWriteReview(Product product) 
     { 
      return this.IsApproved 
       && !Kernel.Get<ReviewRepository>().UserHasReviewed(product) 
       && !Kernel.Get<SellerAccountRepository>().UserHasSellerAccount(this); 
     } 
    } 
} 

私はそれを注入することができず、代わりに、カーネルから直接取得する必要がありますあまりにも多くの依存関係を持っているので、ドメインPOCOでこのメソッドを持っ好きではありません。このタイプのロジックはどこに置くのですか?

私はdomain events patternが、ドメイン外のドメイン状態の変化に依存するサービス的なロジックをとるのに便利な手段であることがわかりました。上記のようなパターンのパターンがありますか?

答えて

関連する問題