ホームページ バックエンド開発 C#.Net チュートリアル [ASP.NET MVC Mavericks Road] 01 - MVC パターンを理解する

[ASP.NET MVC Mavericks Road] 01 - MVC パターンを理解する

Dec 30, 2016 pm 01:42 PM

ASP.NET
MVC Mavericks Road] 01 - MVC パターンを理解する

PS: MVC は長い間世に出ていましたが、私は仕事でそれを使用する機会がありませんでした。興味があったので、仕事後に MVC について徹底的に勉強し、ブログ投稿を通じて学んだことを記録し、仲間の庭師から修正を得ることができればと考えています。

この記事の内容


一般的な意味でMVCパターンを理解する

MVCパターン(Model-View-Controller)は、ソフトウェア工学におけるソフトウェアアーキテクチャパターンであり、ソフトウェアシステムを次の3つの基本部分に分割します:

モデル: モデルは、アプリケーションのビジネス ロジックとデータの処理方法に関連するデータをカプセル化するために使用されます。 「モデル」はデータベースなどのデータに直接アクセスします。 「モデル」は「ビュー」や「コントローラー」に依存しません。つまり、モデルは、モデルがどのように表示されるか、どのように操作されるかを気にしません。
ビュー: ビューは、目的を持ったデータの表示を実現できます。通常、ビューには手続き型ロジックはありません。
コントローラー: コントローラーは、さまざまなレベル間で組織的な役割を果たし、アプリケーションのフローを制御するために使用されます。イベントを処理し、応答します。 「イベント」には、ユーザーの行動やデータ モデルの変更が含まれます。

上記のテキストはWikipediaから引用したものです。上記の文章と私の個人的な理解に基づいて、MVC のさまざまな部分間の関係を示す次の図を描きました:

[ASP.NET MVC Mavericks Road] 01 - MVC パターンを理解する

プラットフォームや言語フレームワークが異なれば MVC の定義も異なり、明確な定義はないことに注意してください。 。しかし、一般的に言えば、MVC モデルの各部分には明確な役割分担と明確な定義があります。データを操作するロジックはモデルにのみ存在し、データをレンダリングするロジックはビューにのみ存在し、ユーザーのリクエストと入力を処理するロジックはコントローラーにのみ存在します。アプリケーションがどれほど大きくても、ライフサイクルのどの段階にあっても、この明確な関心事の分離 MVC パターンにより、アプリケーションの保守と拡張が容易になります。

ドメイン モデルを理解する

ドメイン モデル (ドメイン モデル) は、ドメイン内の概念的なクラスや現実世界のオブジェクトを視覚的に表現したものです。概念モデル、ドメイン オブジェクト モデル、ビジネス オブジェクト モデルとも呼ばれます。問題ドメイン自体の分析、重要なビジネス ドメイン概念の発見、ビジネス ドメイン概念間の関係の確立に焦点を当てます。 ドメイン モデルは、ビジネス ユース ケースの実装を記述するオブジェクト モデルであり、ビジネスを実行するためにビジネス ロールとビジネス エンティティがどのように関連付けられ、連携するかを抽象化したものです。

MVC アプリケーションの場合、ドメイン モデルは非常に重要な部分です。特定の業界では、現実世界のエンティティ、関連する操作、ルールに基づいてモデルを作成します。 C# プログラムの場合、ドメイン モデルは、現実世界のオブジェクトをカプセル化する一連の C# 型 (クラス、構造体など) であり、ドメイン内のオブジェクトに対する一部の操作 (または処理) は、C# 型で定義されたメソッド (メソッド) です。フィールドでのオブジェクト操作の規則の一部は、C# の属性リーダーおよびライターの get および set メソッドによるクラス メンバーの読み取りと書き込みの制御など、メソッド内の論理処理です。例:

たとえば、銀行業務の分野では、個人の「銀行口座」をモデルに組み込むことができます。各アカウントには、銀行口座モデルのメソッドである「銀行カード消費」という操作があります。 「当座貸越消費なし」は、この口座での銀行カードの使用に対する制約ルールです。このルールは、銀行カード消費メソッド内で定義された論理処理です。

上記は少し抽象的ですが、それでも理解するのは簡単です。ドメイン モデルについての私の理解はこれまでしかできません。皆さん、ぜひ体験してください。つまり、MVC アプリケーションでは、次の概念が必要です。モデルを通じてデータを操作したり、操作を追加したり、操作にルールを追加または変更したりすることは、すべてアプリケーションのドメイン モデルを変更することになります。

ASP.NET の MVC を理解する

要約すると、ASP.NET MVC には次の特徴があります:

プロジェクトをモデル ビューとコントローラーに分割することにより、このタスクの分離 (関心の分離とも呼ばれます) により、複雑なプロジェクトの保守が容易になります。コンポーネントにより、アプリケーションの保守が容易になり、テストが容易になります。
拡張可能でシンプルなフレームワーク。 mvc フレームワークは、移植とカスタマイズを容易にするように設計されています。独自のビュー エンジン、URL 書き換え戦略、オーバーロードされたアクション メソッドなどを追加できます。 mvc は、依存関係の挿入 (DI) と制御の反転 (IOC) もサポートしています。強力な URL 書き換えメカニズムにより、理解しやすく検索可能な URL を簡単に作成できます。 URL にはファイル拡張子を含めることはできません。URL は検索エンジンに適したものに書き換えることができます。
既存の asp.net プログラムのサポート。既存の asp.net ページ タグ、ユーザー コントロール、テンプレート ページ、データ バインディングなどを使用できます。


ASP.NET MVC では、コントローラーは通常、System.Web.Mvc.Controller を継承するクラスです。コントローラー内のクラスの各パブリック メソッドは、Action メソッドと呼ばれます。 ASP.NET ルーティング システムは、要求された URL とルーティング構成に基づいて、対応する Action メソッドを内部で呼び出します。ドメイン モデルの操作が完了すると、クライアントに提示するビューが選択されます。次の図は、ASP.NET MVC のコントローラー、モデル、ビューの関係を示しています。

[ASP.NET MVC Mavericks Road] 01 - MVC パターンを理解する

さらに、ASP.NET MVC フレームワークは、.NET でサポートされているデータベース、ORM フレームワーク、その他のツールを使用できます。

初心者にとっては、ASP.NET MVC の概念を理解するにはこれで十分だと思います。 ASP.NET の MVC の概念をより深く理解したい場合は、MSDN ドキュメントにアクセスすることをお勧めします。

初心者の場合は、理解を助けるために、自分でいくつかの簡単なデモを作成することをお勧めします。別の庭の友人の本格的な MVC 入門チュートリアル シリーズのブログ投稿を参照してください。

以上は [ASP.NET MVC Maverick’s Road] 01 - MVC モデルの内容を理解する さらに関連した内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する Jun 16, 2023 am 08:09 AM

Web アプリケーションは進化し​​続けるため、アプリケーションをより迅速かつ効率的に開発することが重要です。また、RESTful API は Web アプリケーションで広く使用されているため、開発者は RESTful API の作成および実装方法を理解する必要があります。この記事では、CodeIgniter フレームワークを使用して MVC パターンと RESTful API を実装する方法について説明します。 MVC パターン MVC (Model-Vie) の概要

Laravelで実装できる機能や特徴を理解する Laravelで実装できる機能や特徴を理解する Mar 07, 2024 am 08:06 AM

Laravel は、Web 開発の分野で広く使用されている人気のある PHP フレームワークです。開発者が高品質で保守可能な Web アプリケーションを迅速に構築できるようにする多くの強力な機能を提供します。この記事では、Laravel で実装できる関数と機能を詳しく説明し、具体的なコード例を示します。 1.MVCアーキテクチャ Laravelは、MVC(Model-View-Controller)設計パターンに基づいたアーキテクチャを採用し、コードを編成および管理します。

ThinkPHP6 での MVC パターンの使用 ThinkPHP6 での MVC パターンの使用 Jun 20, 2023 am 11:06 AM

ThinkPHP6 は、MVC (Model-View-Controller) パターンを使用してアプリケーションの論理構造を編成する人気の PHP フレームワークです。 MVC パターンは、アプリケーションをモデル、ビュー、コントローラーの 3 つの部分に分割するオブジェクト指向プログラミングの設計パターンです。各部分には独自の独立した責任があるため、アプリケーションの保守と拡張が容易になります。この記事では使い方を紹介します

MVC アーキテクチャ パターンを PHP フレームワークに実装するにはどうすればよいですか? MVC アーキテクチャ パターンを PHP フレームワークに実装するにはどうすればよいですか? Jun 05, 2023 pm 03:31 PM

インターネット技術の急速な発展に伴い、さまざまなプログラミング言語やフレームワークが次々と登場しており、PHPは世界的に人気のあるプログラミング言語としてWeb開発の分野で広く使用されています。 Web アプリケーションが増加し、より複雑になるにつれて、コードをより適切に整理および管理するために、開発者は MVC (モデル-ビュー-コントローラー) アーキテクチャ パターンを採用しました。 MVC パターンは、アプリケーションをデータ (モデル)、ユーザー インターフェイス (ビュー)、コントローラー (C) の 3 つの部分に分割するソフトウェア設計パターンです。

CodeIgniter フレームワークを選択する理由? CodeIgniter フレームワークを選択する理由? Jun 03, 2023 am 08:21 AM

CodeIgniter は、Web アプリケーションを迅速に開発するために広く使用されている、シンプルで軽量な PHP フレームワークです。 2006 年の創設以来、CodeIgniter は多くの開発者にとって選ばれるフレームワークとなっています。この記事では、CodeIgniter フレームワークを選択する理由を探り、その主な利点について説明します。 Lightweight CodeIgniter は軽量なフレームワークであり、フレームワークのコアファイルはわずか 2MB 程度であり、実行速度とパフォーマンスの点で優れています。他の苦しみとともに

PHPでのリクエスト・レスポンスの設計 PHPでのリクエスト・レスポンスの設計 May 23, 2023 am 08:22 AM

Web 開発において、リクエストへのレスポンスは非常に重要な概念です。 PHP 開発者は、リクエスト応答の設計を理解する必要があります。 PHP では、リクエストはクライアントからサーバーに送信されるデータを指します。一般に、このデータはフォーム送信または AJAX リクエストによって送信されます。リクエストの内容には、HTTP リクエスト メソッド、リクエスト ヘッダー、リクエスト パラメータ、リクエスト本文、その他の情報が含まれます。応答は、クライアントの要求に対するサーバーの応答を表します。一般的に、応答の内容には H が含まれる場合があります。

Yii フレームワークと MVC パターンの関係 Yii フレームワークと MVC パターンの関係 Jun 21, 2023 am 11:33 AM

Yii フレームワークは軽量の PHP フレームワークであり、MVC パターンは優れたソフトウェア アーキテクチャ パターンと考えられています。 Yii フレームワークでは、MVC パターンが広く使用されており、開発者がコードをより適切に整理および管理し、適切なプログラミング習慣に従って効率的な Web アプリケーションを実装するのに役立ちます。 MVCパターンとは何ですか? MVC パターンは、もともとデスクトップ アプリケーションの開発で使用されていた一般的に使用されるソフトウェア アーキテクチャ パターンです。このパターンでは、アプリケーションのコードが 3 つの主要コンポーネント (モデル、ビュー、コントローラー) に分割されます。

PHP8 フレームワーク開発 MVC パターン: コードの保守性を向上させるためのベスト プラクティス PHP8 フレームワーク開発 MVC パターン: コードの保守性を向上させるためのベスト プラクティス Sep 11, 2023 pm 08:12 PM

PHP8 フレームワーク開発 MVC パターン: コードの保守性を向上させるためのベスト プラクティス はじめに: インターネットの急速な発展に伴い、Web サイトと Web アプリケーションのニーズはますます多様化および複雑化しています。この需要を満たすために、開発者は効率的で信頼性の高いフレームワークを使用して開発プロセスを合理化する必要があります。多くの PHP フレームワークの中で、MVC (Model-View-Controller) パターンは、最も一般的で強力なアーキテクチャの 1 つです。この記事では、生成を改善するために PHP8 フレームワークで MVC パターンを開発するためのベスト プラクティスを紹介します。

See all articles