3

私はasp.netWebアプリケーション開発者であり、常にEnterprise Library DAABを使用して、4つの別個のレイヤー(プレゼンテーションレイヤー、カスタムタイプレイヤー、ビジネスロジックレイヤー、およびデータアクセスレイヤー)を使用したデータアクセスのストアドプロシージャを使用しています。

私の感じでは、このアプローチは多くの時間を無駄にしていると思います。

私は他の方法でデータにアクセスしたことはありませんが、開発時間を節約する方法はたくさんあると思います。検索中に私はこれらについて読みました:

  1. ストアドプロシージャを使用してDAL全体を生成するデータアダプタ
  2. さまざまなフレーバーを持つLinq
  3. エンティティフレームワーク
  4. SQLDataSourceや動的データなどのデータコントロールの使用
  5. その他のマッパー、コードジェネレーター、ユーティリティ

非常に多くのオプションと私の知識が少ないため、開発が高速で、拡張可能で、再利用可能で、標準に達している可能性があることを考慮して、どの開発パターンを採用すべきかを決定する際に混乱しています。また、使用する必要がある場合は、コードライブラリをSilverlight、MVCフレームワーク、サービスなどの他のテクノロジで使用できる方法を検討したいと思います。

親切に私を導き、助けてください。

ありがとう

4

3 に答える 3

4

SQL Serverなどのリレーショナルデータベースにアクセスするには、オブジェクトリレーショナルマッパー(ORM)が非常に便利です。.NETスペースでは、MicrosoftのEntityFrameworkとオープンソースのNHibernateが人気のある選択肢です。これらのいずれかを試すことを強くお勧めします。

EntityFrameworkはVisualStudioでドラッグアンドドロップスタイルのデザイナーをサポートしており、NHibernateはより優れたコードベースの構成を備えています。これらのオプションのどれがあなたに最適であるかを試すことをお勧めします。

Enterprise Libraryとストアドプロシージャを使用すると、これらのツールでCRUDタスクがいかに簡単にできるかがすぐにわかりますが、より複雑な更新やクエリの場合と同様に、学ぶことが少しあります。

于 2010-08-22T12:43:08.017 に答える
3

あなたはすでに良い習慣で物事をやっています。あなたが入居するものはすべて、あなたが知っていることを簡単にするだけです。ミックス、マッチ、各オプションを使用します。あなたが得た知識はあなたをより価値のあるものにするだけなので、何もあなたを傷つけることはありません。

于 2010-08-22T12:58:02.257 に答える
2

読んだり調べたりするパターンはたくさんあります(アダプター、リポジトリ、MVPなど)。あなたはどちらがあなたのために働くかを決める必要があります。ビジネスロジックをUIロジックから分離し、データアクセスレイヤーを別のレイヤーに分離することで、すでにアプリケーションを適切にレイヤー化しているようです。ソフトウェアの作成は難しいですが、さらに一歩進んでクラスのベースインターフェイスレイヤーを定義できるため、同じインターフェイスを何度も書き直す必要がなく、使用可能なインターフェイスに追加することで、そのインターフェイスをさらに拡張できます。それはあなたにいくらかの時間を節約するでしょう。

また、MicrosoftのMVC#フレームワークまたはASP.NETMVCフレームワークの使用を確認することもできます。リポジトリパターンに関しては、NHibernateを検討しましたか?

幸運を。

于 2010-08-22T12:26:14.363 に答える