Linq to Sqlの上にリポジトリパターンの実装を作成するのは、中規模の一般公開されたWebアプリケーションのための良い設計ですか?アプリは、SQLで扱うLinq to sql with medium size web application
は、バックエンドを切断し、それがきちんとDALだから、それは
私は本当にLINQ2SQLのような急速な発展が必要です。私はEFを考えましたが、このプロジェクトにはあまりにも多くのことがあります。
多くの提案に感謝します。
Linq to Sqlの上にリポジトリパターンの実装を作成するのは、中規模の一般公開されたWebアプリケーションのための良い設計ですか?アプリは、SQLで扱うLinq to sql with medium size web application
は、バックエンドを切断し、それがきちんとDALだから、それは
私は本当にLINQ2SQLのような急速な発展が必要です。私はEFを考えましたが、このプロジェクトにはあまりにも多くのことがあります。
多くの提案に感謝します。
リポジトリパターンが由来するDDDの大きな教義は、その寿命にわたって「容易に」進化することができるアプリケーションを作成することです。将来的にLinq2Sqlがニーズに合っていないか、Linq2SqlがEFに賛成するなど、技術が廃止された可能性が高いことがわかります。リポジトリパターンを使用すると、強固で、よく知られた概念を抽象的に表現する。実際の実装は、さまざまなアプリケーション機能から隠されているため、必要に応じて将来的にそれらを交換することができます。
リポジトリを使用するコンポーネントを環境とは独立して使用できるようにするなど、他の利点もあります。リポジトリを使用するコンポーネントがあるとしたら、サービスでこのコンポーネントを使用して夜間のジョブを実行できる必要があることがわかります。同じコードを使用するサービスを作成できますが、データベースではなくWebサービスと対話するリポジトリの実装を使用します。コードを一度書いただけで、いくつかのスイッチを反転させただけです。
もう一つの大きな理由は単体テストです。 ORMまたは永続性APIが機能することを単体テストする必要はありません。そうでない場合は、永続性と相互作用するアプリケーションが期待通りに機能することをユニットテストする必要があります。
だから、いいデザインだと思います。
コメントにあなたの質問に答えてください:このようなリポジトリはあなたに何を与えるでしょうか? L2Sはすでに「リポジトリ」です。答えはノーと思われます。
ORマッパーを何回交換するのですか?それは決して起こらない。そしてもしそうなら(それは非常にありそうもない)、とにかくアプリ全体を見直して再テストする必要があります。 ORMを抽象化することは、常に非常に高い価格を支払うことによって、非常に低いコストに対して警戒することです。良い取引ではありません。
問題は何ですか?可能な答えはありません。 – usr
Linq to Sqlの上にリポジトリパターンの実装を作成するのは、中規模の一般公開されたWebアプリケーションのための良い設計ですか? – Sev