ASP.NET MVCの世界では、ASP.NETの多くの改善がフレームワーク自体に含まれています。この設計パターンの主な目的は、ビジネスロジックをユーザーインターフェイスから分離して、メンテナンス性の向上、テスト容易性の向上、およびアプリケーションの構造のクリーン化に重点を置くことです。
ASP.NET MVCには、次の1つ以上が必要な場合に選択する最適なオプションとなる特定の機能があります。
• 生成されたHTMLに対する高度な制御:Webフォームとは異なり、ASP.NET MVCのビューは、ユーザーが指示したとおりにHTMLをレンダリングします。最近、この領域でWebフォームが改善されましたが、MVCの制御レベルはまだありません。
• 簡単なユニットテスト:ASP.NET MVCを使用すると、テスト駆動開発(TDD)などのテストパターンを簡単に追跡できます。Webフォームのイベントライフサイクルは複雑であるため、コントロールベースのフレームワークに加えて、MVDではTDDがはるかに簡単になります。
• 懸念の分離:これは、システムのすべての側面を互いに明確に分離することを指します。実装するパターンにより、MVCアプリケーションは個別の部分と緩やかにバインドされた部分(モデル、ビュー、コントローラー)に分割され、保守が容易になります。
その他の利点のいくつかは次のとおりです。
MVCパターン自体は、アプリケーションの機能をモデル、ビュー、コントローラーの3つのコア部分に明確に分離することにより、複雑さを管理しやすくします。
•ASP.NET MVC Webアプリケーションは、ビューステートまたはサーバーベースのフォームを使用しません。これにより、MVCフレームワークは、アプリケーションの動作を完全に制御したい開発者にとって理想的です。ビューステートは非常に大きくなる可能性があります。これは、低速ネットワークで実行されるスマートフォンなどのデバイスの問題です(すべての情報の送信は非常に遅くなる可能性があります)。Webフォームページでは、ページごとに1つしか持てません。これは非常に大きな制限です。MVCには、このような制限はありません。つまり、好きなだけ要素を持つことができます。
•ASP.NET MVCは、テスト駆動開発(TDD)のサポートを改善します。
•ASP.NET MVCは、大規模な開発者チームがサポートするWebアプリケーションや、HTMLを高度に制御する必要があるWebデザイナーに適しています。ASP.NET MVCリクエスト処理