0

私はドメイン駆動型設計の初心者ですので、この質問が些細なものであればよろしくお願いいたします。私は仕様パターンについて読んでいたので、その意図を理解していると信じています。ドメインサービス/アプリケーションサービスの内部でEFエンティティまたはドメインオブジェクトの仕様パターンです

  • リポジトリメソッド内

    1. :ウェブ上の例のほとんどは、2箇所にその使用法を示しています。

    しかし、これはEFエンティティとドメインオブジェクトが同じ場合にのみ機能します。そして、私はこれが良い習慣(ドメインオブジェクトにEFエンティティを使う)とは考えられていないと思います。 私の質問は -

    ドメインオブジェクトとEFエンティティに対して異なる仕様のルールを記述するか、両方に同じルールを再利用する方法がありますか?私は、もし私たちが表現を使用せず、何らかの形で達成することができるリフレクションを使用していると思います。

  • 答えて

    0

    EFリポジトリで作業する場合、既定のオプションは既に利用可能です。リポジトリにIEnumerable<T>ではなくIQueryable<T>が返されるようにしてください。多くのプログラマはそれを恐れていますが、そのようにすれば、LINQはインフラストラクチャ層の仕様になります。

    次に、ドメインレイヤーで、ドメインオブジェクトをテストする条件とルールをカプセル化するために、仕様パターンとルールパターンを適用できます。

    他にもテクニックがありますが、この組み合わせは私のプロジェクトで通常適用されるものです。

    +0

    なぜdownvotes?インフラストラクチャとドメインの仕様について、ドメイン駆動設計の観点から正確に説明しました。 –

    +0

    これらのテクニックを示す心は? – kayess

    +1

    リポジトリからIQueryableを公開する際の長所と短所について議論する多くのオンラインリソースがあります。仕様パターンに関しては、私のPluralsightコースの1つにモジュールがあります:https://www.pluralsight.com/courses/tactical-design-patternsdot-net –

    関連する問題