2010-12-20 25 views
2

私はジュニアプログラマーです、私はMVCのコンセプトを得ていません!コーディングの私の方法は、3層に自分のアプリケーションの設計をseperatingさ:質問ASP.NET MVC vs. ASP.NET Web投稿者

プレゼンテーションレイヤ ビジネスレイヤ データアクセス層

は、私はそれが後輩開発者にとって非常に実用的か、少なくとも私には見つけるので、私は本当にしないでください 私はMVCがUIからロジックを分離しようとしていると思いますので、MVCのポイントを取得してください。右?

私は混乱しています。助言をお願いします。

すべてのヘルプは...

に感謝します私は、私は、コードの設計に、より良いアイデアを持っている助けるためにこの本を持っていることにしました:

http://www.amazon.com/Professional-ASP-NET-Design-Patterns-Millett/dp/0470292784/ref=sr_1_1?ie=UTF8&qid=1292836936&sr=8-1

注:私はまたについての学習を開始することを決めましたTDD。

QUESTION: は、3層(プレゼンテーション、DALとビジネス)MVCの概念を満たしているに私のコードのデザインを壊すていますか?

+1

あなたの質問は何ですか? –

+0

追加................ – user311509

+1

あなたの質問への答え - いいえ。 – RPM1984

答えて

1

私は10年以上にわたり古典的なaspとwebformsの開発者であったのですが、かなり遅くmvcに変換されました。しかし、約18ヶ月前に、私たちの経営陣がmvcを試してみる良い自己完結型のプロジェクトになると決めたプロジェクトが行われました。私はプロジェクトの管理を任されました。私は、webforms用に構築されたコンポーネントと、webformsプロジェクト用の独自の「ミニフレームワーク」の大きなコラテロールを持っていたので、私は非常に懐疑的だったことを認めます。

私は、mvcパラダイムで金属に近づくと、実際にはより生産的なプロセスであることをゆっくりと発見したとき、私の驚きを想像してみてください。まもなく、私も開始していた他の新しいプロジェクトでwebformsやmvcを使うかどうかに疑問を覚えました。美しさは、私たちのwebformsプロジェクトが、あなたが言及している私たちのために3層のアプローチを使用していたことでした.Webformsの部分を切り換えて、BLL/DALをmvcプロジェクト内の所定の場所に配置して使用するのはかなり簡単でした。

長いとそれの短いが、それはMVCの概念上の速度まで取得するには時間がかかるだろうが、ありがたいことに、多くの偉大な書籍やチュートリアルがそこにあるということです。

http://nerddinner.codeplex.com/

http://blog.stevensanderson.com/

http://www.amazon.com/ASP-NET-Framework-Second-Experts-Voice/dp/1430228865/ref=pd_sim_b_2

それはあなたが今まで見て一つだけだ場合、私は、スティーブン・サンダーソンの本をお勧めします。多くのコアコンセプトについて非常に包括的なウォークスルーを結びつけ、作品の終わりまでの「すべての仕組み」を非常に詳細に理解しています。 MVCない= ない3層で設計要するに

、無、。ただし、3層アプローチで構築した知識とコア機能を失うことを心配している場合は、必ずしもそうである必要はありません。 mvcとBLL/DALは一緒にすばらしく働くことができます。 Webフォームから移動すると、以前のすべてのロジックを失う恐れがあります。要するに、それらはうまくマージ/共存することができます。チームの一部はビジネスロジックを担当していますが、別の部分はそれのmvcの実装。

私は、優れたjQueryの統合についてのドローンとしていた - が、それは別の日の物語だ:)

0

TDDについて言及して以来、これはウェブフォームではなくMVCに最適な理由だと思います。

MVCは、ユニットテストフレームワークでインタラクションをテストできるため、TDDにはるかに適しています。私はthis bookがMVCのTDDで良いスタートだと思います。

0

MVCはあなたが話しているシナリオによっては何かを意味することがあります。

ASP.NET(MVCではなく)では、基本的にロジックとビューの両方を含むページを作成します。 aspxページが読み込まれると、 "コードビハインド"(ロジック)が実行され、ビューにデータがバインドされて表示されます。これは常に繰り返されます。

ASP.NET MVCでは、通常、ビューモデルと呼ばれるオブジェクトを構築する「アクション」(メソッド)を含むコントローラを定義します。ビューモデルには、ビューが表示に使用するデータが含まれています。これは、ASP.NETのデータバインディングと同じです。

ASP.NET MVCはデフォルトでビューのWebフォームを使用しますが、これは比較的容易に別のビューエンジンに変更できます。

最終的な質問に答えるために、アプリケーションを「レイヤー」に分割したい場合、ASP.NET MVCは妥当な選択です。 ASP.NET MVCは、古いASP.NETの主な問題の1つであるため、優れたテスト容易性が必要な場合にも適しています。