初心者向け ASP.NET MVC チュートリアル: とは Archi構造
ASP.NET MVC とは何ですか?
ASP.NET MVC は、オープンソースの Web 開発フレームワークです。 Microsoft モデルビューコントローラアーキテクチャを提供するASP.net MVCは、Webアプリケーションを構築するためのASP.net Webフォームの代替手段を提供します。これは、Webアプリケーションを構築、展開、実行するための.Netプラットフォームの一部です。HTML、CSS、jQueryの助けを借りて、WebアプリケーションとWebサイトを開発できます。 Javascript, etc.
初心者向けに MVC の基本概念をすべて網羅したこの ASP.NET MVC チュートリアルで MVC を学習します。
なぜ ASP.net MVC なのか?
Web フォームは非常に成功しましたが、 Microsoft ASP.net MVC の開発を考えました。 ASP.net WebForms の主な問題はパフォーマンスです。
で ウェブアプリケーション、パフォーマンスを定義する主な側面は次の XNUMX つです。
- 応答時間の問題
- 単体テストの問題点
- HTMLのカスタマイズ
- コードビハインド クラスの再利用性
ASP.net MVC は、上記のパラメータにおいて優れています。
MVCのバージョン履歴
ASP.NET MVC1
- 13 年 2009 月 XNUMX 日発売
- .NET 3.5上で動作します
- Visual Studioの2008
- WebForm エンジンを使用した MVC パターン アーキテクチャ
- 主な機能には、HTML と 単体テスト、Ajax ヘルパー、ルーティングなど。
ASP.NET MVC2
- このバージョンは 10 年 2010 月 XNUMX 日にリリースされました
- .NET 3.5,4.0、XNUMX 上で動作します。 Microsoft Visual Studioの2008
- テンプレート化されたヘルパー、自動スキャフォールディングとカスタマイズ可能なテンプレートを備えた Ul ヘルパーなどの機能が含まれます
- DataAnnotations 属性をサポートして、クライアント側とサーバー側でモデル検証を適用します。
ASP.NET MVC3
- 13 年 2011 月 XNUMX 日に発売されました
- .NET 4.0、XNUMX 上で動作します。 Microsoft Visual Studioの 2010
- Nの使用uGet ソフトウェアを配信し、プラットフォーム全体の依存関係を管理できるようにします。
- より良いです JavajQuery 検証と JSON バインディングによるスクリプトのサポート
- Razor ビュー エンジンなどの機能を提供します。 クライアント側とサーバー側の両方でモデルを検証するための強化されたデータ注釈属性
ASP.NET MVC4
- このバージョンは 2012 年 XNUMX 月にリリースされました
- .NET 4.0、4.5、Visual Studio 2010、Visual Studio 2012で動作します。
- デフォルトのプロジェクトテンプレートの機能強化
- jQuery Mobile を使用したモバイル プロジェクト テンプレート、非同期コントローラーのタスク サポート、バンドル、縮小などの機能を提供します。
ASP.NET MVC5
- 17年2013月XNUMX日にリリース
- .NET 4.5、4.5.1、Visual Studio 2012、Visual OneASP.NETで実行可能
- MVC での属性ルーティングをサポート
MVCの特徴
- 簡単で摩擦のない試験性
- HTMLを完全に制御し、 JavaスクリプトとURL
- 既存の活用 ASP.Net オプション
- ASP.Net の新しいプレゼンテーション オプション
- Asp.Net をプログラミングする簡単な方法
- ロジックの明確な分離: モデル、ビュー、コントローラー
- テスト駆動開発
- 並行開発のサポート
MVC アプリケーションを作成する際の注意事項
この ASP.NET MVC チュートリアルには、MVC アプリケーションを作成する際に覚えておくと便利なことがいくつかあります。
- ASP .net MVC は、ASP.Net Web フォーム ベースのアプリケーションに代わるものではないことに注意する必要があります。
- MVC アプリ開発のアプローチは、特定の開発ニーズに合わせて、アプリケーション要件と ASP .net MVC によって提供される機能に基づいて決定する必要があります。
- ASP .NET MVC を使用したアプリケーション開発プロセスは、Web フォーム ベースのアプリケーションに比べて複雑です。
- アプリケーションのタスクを分離すると、アプリケーションの保守性が常に向上します。
MVC は、関心の分離方式に従うソフトウェア アーキテクチャ パターンです。このモデルでは、.Net アプリケーションは、モデル、ビュー、コントローラーと呼ばれる 3 つの相互接続された部分に分割されます。
MVC パターンの目標は、これらの各部分を相対的に分離して開発、テストし、組み合わせて非常に堅牢なアプリケーションを作成できることです。
それらすべてを詳しく見てみましょう。
Models
モデル オブジェクトは、アプリケーションのロジックを実装するアプリケーションの一部です。 データドメイン。 モデルの状態を取得してデータベースに保存します。 たとえば、製品オブジェクトは、 データベース、それを操作します。次に、SQL サーバーの製品テーブルに情報を書き戻します。
ビュー
ビューは、MVC ではビューモデルとも呼ばれる、アプリケーションのユーザー インターフェイス (UI) を表示するために使用されるコンポーネントです。 モデルデータから作成した.Net MVCアプリケーションを表示します。
一般的な例としては、アイテム テーブルの編集ビューが挙げられます。製品とオブジェクトの現在の状態に基づいて、テキスト ボックス、ポップアップ、チェック ボックスが表示されます。
コントローラー
コントローラーはユーザー インタラクションを処理し、モデルを操作し、Ul を表示するレンダリングするビューを選択します。 .Net MVC アプリでは、ビューは情報のみを表示し、コントローラーは MVC のアクション フィルターを使用してユーザー入力と対話を管理し、応答します。
たとえば、コントローラーはクエリ文字列値を管理し、それらの値をモデルに渡します。
Web フォームと MVC
技術パラメータ | WebFrom | MVC |
---|---|---|
モデル | Asp.Net Web フォームは、イベント駆動型開発モデルに従います。 | Asp.Net MVC は、MVC パターン ベースの開発モデルを使用します。 |
以来使用 | 2002年から存在 | 2009年に初めて発売されました |
ビューステートのサポート | Asp.Net Web フォームは、クライアント側での状態管理のためのビューステートをサポートしています。 | .Net MVC はビューステートをサポートしていません。 |
URLの種類 | Asp.Net Web フォームにはファイルベースの URL があります。 これは、ファイル名が URL 内に存在し、物理的に存在する必要があることを意味します。 | Asp.Net MVC にはルートベースの URL があり、これはコントローラーとアクションにリダイレクトされる URL を意味します。 |
構文 | Asp.Net MVC は Web フォーム構文に従います。 | Asp.Net MVC は、カスタマイズ可能な構文に従います。 |
ビューの種類 | Web フォーム、ビューはコード ビハインド (ASPX-CS)、つまりロジックと密接に結合されています。 | MVC、ビュー、ロジックは常に個別に保持されます。 |
一貫した外観と操作感 | 一貫した外観を実現するマスターページがあります。 | Asp.Net MVC には、一貫した外観を実現するレイアウトがあります。 |
コードの再利用性 | Web フォームには、コードを再利用できるユーザー コントロールが用意されています。 | Asp.Net MVC は、コードを再利用できるように部分ビューを提供しました。 |
HTMLのコントロール | Less レンダリングされた HTML を制御します。 | HTML を完全に制御 |
状態管理 | コントロールの自動状態管理。 | 手動による状態管理。 |
TDDのサポート | 弱い TDD またはカスタム TDD が必要です。 | TDD を奨励し、含めます。 |
ASP.NET MVCの利点
- デフォルトで保守性の高いアプリケーション
- これにより、アプリケーションの任意のコンポーネントを置き換えることができます。
- テスト駆動開発のサポートの強化
- モデル、ビュー、コントローラーに分割されているため、複雑なアプリケーションも簡単に管理できます。
- フロントコントローラーパターンによる堅牢なルーティングメカニズムを提供
- ビューステートとサーバーベースのフォームを排除することで、アプリケーションの動作をより適切に制御できるようになります。
- .Net MVC アプリケーションは、開発者と Web デザイナーからなる大規模なチームによってサポートされています
- これにより、アプリケーションの動作をより詳細に制御できるようになります。 また、サーバーに対するリクエストに対して最適化された帯域幅を使用します。
ASP.NET MVCの欠点
- .aspx ページのようなデザイン ページのプレビューは表示されません。
- 実際のデザインを確認するには、毎回プログラムを実行する必要があります。
- アプリケーションの流れを理解するのは難しい場合があります
- 実装が非常に複雑なため、小規模レベルのアプリケーションには理想的なオプションではありません
- MVC パターンをよく理解する必要があるため、ASP.NET 用の MVC を学習するのは困難です
ASP.Net MVC 使用時のベスト プラクティス
- 大規模で複雑なコードの場合は、望ましくない状況を避けるために、モデル用の別のアセンブリを作成します。
- モデルには、ビジネス ロジック、セッション維持、検証部分、データ ロジック部分が含まれている必要があります。
- VIEW にはビジネス ロジックやセッション メンテナンスを含めないでください。ViewData を使用して View 内のデータにアクセスしてください。
- ビジネス ロジックとデータ アクセスは、ControllerViewData では決して発生してはなりません
- コントローラーは、ビューの準備と返し、モデルの呼び出し、アクションへのリダイレクトなどのみを担当する必要があります。
- 作成時にアプリケーションからデモ コードを削除します。 AccountController を削除します。
- HTML マークアップは HTML とプログラミング コードの組み合わせであるため、ビューから HTML マークアップを作成するには、特定のビュー エンジンのみを使用してください。
製品概要
- ASP.NET MVC は、オープンソースの Web 開発フレームワークです。 Microsoft それは モデルビューコントローラアーキテクチャ.
- ASP.net MVC は、Web アプリケーションを構築するための ASP.net Web フォームの代替手段を提供します。
- ASP.net WebForms の主な問題はパフォーマンスです。
- ASP.net MVC は、HTML と URL を完全に制御できる、簡単でスムーズなテスト機能を提供します。
- ASP .net MVC は、ASP.Net Web フォーム ベースのアプリケーションに代わるものではないことに注意してください。
- MVC アプリ開発のアプローチまたは ASP.NET MVC ライフ サイクルは、特定の開発ニーズに合わせて、アプリケーション要件と ASP .net MVC によって提供される機能に基づいて決定する必要があります。
- ASP.NET MVC は、デフォルトで保守性の高いアプリケーションを提供します。
- ASP.net では、.aspx ページのようなデザイン ページのプレビューを表示できません。
- ベスト プラクティスとして、モデルにはビジネス ロジック、セッション維持、検証部分、データ ロジック部分を含める必要があります。