MVC pattern_PHP チュートリアルとは
MVCパターン
MVCモードは「Model-View-Controller」の略称で、中国語訳は「Mode-View-Controller」です。 MVCApplicationProgramは常にこれらの 3 つの部分で構成されます。イベント (event) により、コントローラーはモデルまたはビュー、あるいはその両方を同時に変更します。コントローラーがモデルのデータまたはプロパティを変更する限り、依存するすべてのビューは自動的に更新されます。 と同様、コントローラーがビューを変更する限り、ビューは基礎となるモデルからデータを取得して自身を更新します。 MVC パターンは、Smalltalk 言語研究グループによって最初に提案され、ユーザー対話アプリケーションで使用されています。 smalltalk 言語と Java 言語には多くの類似点があります。これらはどちらも オブジェクト指向言語 です。当然のことながら、SUN はペットストアで Web アプリケーションを開発するための アーキテクチャ パターンとして MVC パターンを推奨しました。ペットショップ)のアプリケーション例。 MVC パターンは、実際には他のパターンのコラボレーションを必要とするアーキテクチャ パターンです。 J2EE モード ディレクトリでは、通常、Service to Worker モードが実装されており、Service to Worker モードは集中コントローラー モード、ディスパッチャー モード、ページ ヘルパー モードで構成できます。 StrutsはMVCのView部分とController部分のみを実装します。開発者がStrutsフレームワークにModelを適用できるように、Strutsは開発者自身が抽象クラスを実装する必要があります。 MVC パターンは複雑なアーキテクチャ パターンであり、その実装も非常に複雑です。ただし、多くの信頼できる 設計パターン が完成しました。複数の設計パターンを組み合わせることで、MVC パターンの実装が比較的シンプルかつ簡単になります。ビューはツリーとして表示でき、これは明らかに Composite Pattern を使用して実装できます。ビューとモデルの間の関係は、オブザーバー パターンに反映できます。コントローラーは、戦略パターンを使用して実装できるビューの表示を制御します。モデルは通常メディエーターであり、メディエーター パターンを使用して実装できます。次に、MVC の 3 つの部分が J2EE アーキテクチャのどこにあるかを理解しましょう。これは、MVC パターンの実装を理解するのに役立ちます。 MVC と J2EE アーキテクチャの対応関係は次のとおりです。ビューは Web 層またはクライアント層にあり、通常は JSP/サーブレットであり、ページ表示部分です。コントローラーも Web 層にあり、通常はサーブレットで実装されます。つまり、ページ表示の論理部分が実装されます。モデルは中間層にあり、通常はサーバー側で JavaBean または EJB を使用して実装されます。つまり、ビジネス ロジック部分の実装です。
1. MVC デザインのアイデア
MVCは英語でModel-View-Controllerといい、アプリケーションの入力・処理・出力の処理をModel、View、Controllerで分離することにより、アプリケーションをモデル層、ビューの3層に分けます。レイヤーとコントロールレイヤー。
Viewはユーザーインタラクションインターフェースを表し、Webアプリケーションの場合はHTMLインターフェースとしてまとめられますが、XHTML、XML、アプレットの場合もあります。アプリケーションの複雑さと規模が増大するにつれて、インターフェイスの処理が困難になります。アプリケーションにはさまざまなビューが存在する場合があります。MVC デザイン パターンによるビューの処理は、ビュー上のデータの収集と処理、およびユーザー リクエストに限定されますが、ビュー上のビジネス プロセスの処理は含まれません。ビジネスプロセスの処理はモデルに引き継がれます。たとえば、オーダー ビューはモデルからのデータのみを受け入れてユーザーに表示し、入力データとリクエストをユーザー インターフェイスからコントロールとモデルに渡します。 モデル:ビジネスプロセス・状態の処理とビジネスルールの策定です。ビジネス プロセスの処理は、他のレイヤーにとってはブラック ボックス操作であり、モデルはビューによって要求されたデータを受け取り、最終的な処理結果を返します。ビジネスモデルの設計はMVCの最も重要な核と言えます。現在普及している EJB モデルは、既存のコンポーネントを最大限に活用するために、アプリケーション技術の実装の観点からモデルをさらに分割した典型的なアプリケーション例ですが、アプリケーション設計モデルのフレームワークとして使用することはできません。このモデルに従って設計すると、特定の技術コンポーネントを利用できるため、技術的な問題が軽減されるということだけがわかります。開発者はビジネス モデルの設計に集中できます。 MVC 設計パターンは、アプリケーション モデルが特定の規則に従って抽出されることを示しています。これは、開発者が優れているかどうかを判断するための設計基準でもあります。抽象性と具体性は、離れすぎても近すぎてもいけません。 MVC はモデル設計方法を提供せず、モデルの再構築を容易にし、再利用性を向上させるために、これらのモデルを編成および管理する必要があることを示すだけです。オブジェクト プログラミングを例に挙げると、MVC はトップレベルのクラスを定義し、そのサブクラスにこれらのことしか実行できないことを指示しますが、実行できることを制限する方法はありません。これはプログラミング開発者にとって非常に重要です。
ビジネスモデルにはもう一つ非常に重要なモデルがあります、それはデータモデルです。データ モデルは主にエンティティ オブジェクトのデータ ストレージ (永続化) を指します。たとえば、注文をデータベースに保存し、データベースから注文を取得します。このモデルは個別にリストすることができ、すべてのデータベース関連の操作はこのモデルに限定されます。
コントローラーは、ユーザーからのリクエストを受け取り、モデルとビューを一緒に照合し、ユーザーのリクエストを共同で完了するものとして理解できます。コントロール層を分割する役割も非常に明確で、ディストリビューターであること、どのようなモデルが選択されるか、どのようなビューが選択されるか、どのようなユーザーのリクエストを完了できるかが明確になります。制御層はデータ処理を行いません。たとえば、ユーザーが接続をクリックし、制御層がリクエストを受け入れる場合、制御層はビジネス情報を処理せず、ユーザーの情報をモデルに渡し、モデルに何をすべきかを指示し、要件を満たすビューを選択するだけです。ユーザーに戻ります。したがって、1 つのモデルが複数のビューに対応する場合や、1 つのビューが複数のモデルに対応する場合があります。
モデル、ビュー、コントローラーを分離することで、モデルに複数の表示ビューを持たせることができます。ユーザーがビューのコントローラーを通じてモデルのデータを変更した場合、そのデータに依存する他のすべてのビューにそれらの変更が反映される必要があります。したがって、データが変更されるたびに、コントローラーはすべてのビューに変更を通知し、表示を更新します。これは実際にはモデル変更伝播メカニズムです。モデル、ビュー、コントローラーの関係とそれぞれの主な機能を図 1 に示します。
ASP.NET は、この古典的なデザイン パターンを実装するための優れた同様の環境を提供します。開発者は、ASPX ページでユーザー インターフェイスを開発することによってビューを実装します。コントローラー関数は、通常、アプリケーション システムのビジネス部分に対応する論理関数コード (.cs) で実装されます。この設計を ASP.NET に実装すると、従来の ASP 構造で実装されたシステムに比べて明らかな利点がある多層システムが提供されます。ユーザー表示 (ビュー) をアクション (コントローラー) から分離すると、コードの再利用性が向上します。データ (モデル) を、データ上で動作するアクション (コントローラー) から分離すると、バックグラウンドでのデータの保存から独立したシステムを設計できます。 MVC 構造は、その性質上、結合システムの問題を解決する方法です。
2.1ビュー
ビューはモデルの表現であり、ユーザー対話インターフェイスを提供します。単一の表示ページを含む複数のユーザー ウィジェットを使用すると、複雑な Web ページに複数のデータ ソースからのコンテンツを表示でき、Web 開発者やアーティストはこれらの Web ページの開発と保守に独立して参加できます。
ASP.NET では、ビューの実装は非常に簡単です。統合開発環境では、WINDOWS インターフェイスの開発と同様に、コントロールをドラッグすることでページの開発を直接完了できます。この記事では、各ページが複合ビューの形式を採用していることを紹介します。つまり、ページは複数のサブビュー (ユーザー パーツ) で構成されます。サブビューは、複数の入れ子になったコントロールで構成される最も単純な HTML コントロール、サーバー コントロール、または Web カスタマイズです。 。ページはテンプレートによって定義されます。テンプレートはページのレイアウト、ラベル、ユーザー コンポーネントの数を定義し、プラットフォームはこの情報に基づいてページを自動的に作成します。サイト ナビゲーション、メニュー、ページ上のフレンドリ リンクなどの静的テンプレート コンテンツの場合は、デフォルトのテンプレート コンテンツ構成が使用されます。動的テンプレート コンテンツ (主にビジネス コンテンツ) の場合は、ユーザーの要求が異なるため、バインディング後の設定のみを使用できます。ユーザーコンポーネントの表示内容は、さまざまなユーザーに従ってフィルタリングされます。再利用性が向上し、テンプレートから構成されたユーザー ウィジェットで構成される構成ページを使用してサイトのレイアウトのプロトタイプが作成されます。
ビュー部分の一般的な処理フローは次のとおりです: まず、ページ テンプレートがページのレイアウトを定義し、ページ構成ファイルがビュー タグ (ユーザー コンポーネント) の特定のコンテンツを定義します。それに応じて各ユーザーコンポーネントをロードします。ユーザーが送信した後、独自の構成をロードし、パラメーターを設定し、プレゼンテーション層とユーザーの検証を通過します。コンポーネントは、データをビジネス エンティティ、つまりモデルに自動的に送信します。
この部分は主に WEB ページの基本クラス PageBase を定義します。ページ レイアウトを完成させ、ユーザー コンポーネントの基本クラスである UserControlBase をページにロードします。検査コンポーネントを動的にロードし、ウィジェットのユーザーパーソナライゼーションを実装するために使用されます。 WEB アプリケーションの柔軟性を実現するために、ビュー部分でも多くの設定ファイルが使用されます。たとえば、設定ファイルには、テンプレート設定、ページ設定、パス設定、検証設定などが含まれます。
2.2コントローラー
ユーザーごとに複数のリクエストの処理を制御および調整できるようにするには、制御メカニズムを集中管理する必要があります。そこで、一元管理を目的としてコントローラーが導入されています。アプリケーションのコントローラーはクライアント (通常はブラウザーを実行しているユーザー) からのリクエストを一元的に受信し、どのビジネス ロジック機能を実行するかを決定し、ユーザー インターフェイスの次のステップを生成する責任を適切なビュー コンポーネントに委任します。
コントローラーを使用して、リクエストを制御および処理するための集中エントリ ポイントを提供します。コントローラーは、ユーザーのリクエストを受信、インターセプト、処理し、リクエストをディストリビューター クラスに委任し、現在のステータスと状況に基づいて顧客に表示するビューを決定します。事業運営の結果。この部分では主にHttpReqDispatcher(ディストリビュータクラス)、HttpCapture(リクエストキャプチャクラス)、Controller(コントローラクラス)などが定義されており、これらが連携してコントローラの機能を完成させます。リクエスト キャプチャ クラスは HTTP リクエストをキャプチャし、コントローラ クラスに転送します。コントローラー クラスは、すべてのリクエストを処理するためのシステムへの最初のエントリ ポイントです。コントローラーが必要な処理を完了すると、リクエストをディストリビューター クラスに委任します。ディストリビューター クラスのディストリビューターは、ビューの管理とナビゲーションを担当し、ユーザーに提供するビューを管理し、配布リソースの制御を提供します。 。この部分では、ディストリビュータ、ストラテジ、ファクトリメソッド、アダプタなどの設計パターンがそれぞれ使用されます。
リクエスト キャッチャー クラスがユーザー リクエストを自動的にキャプチャして処理できるようにするために、ASP.NET は、開発者が .NET Framework クラスを使用して受信 HTTP リクエストを処理できるようにする低レベルのリクエスト/レスポンス API を提供します。これを行うには、System.Web.IHTTPHandler インターフェイスをサポートし、ProcessRequest() メソッドを実装するクラス (要求キャプチャ クラス) を作成し、そのクラスを web.config の
... ...
</httphandlers>
2.3モデル
MVCシステムのモデルは概念的に2つのカテゴリに分類できます
http://www.bkjia.com/PHPjc/632486.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









WeChat のサイレント モードとはどういう意味ですか? 現在、スマートフォンの人気とモバイル インターネットの急速な発展により、ソーシャル メディア プラットフォームは人々の日常生活に欠かせないものとなっています。 WeChat は中国で最も人気のあるソーシャル メディア プラットフォームの 1 つであり、ほとんどの人が WeChat アカウントを持っています。私たちは WeChat を通じて友人、家族、同僚とリアルタイムでコミュニケーションを取り、生活の瞬間を共有し、お互いの現在の状況を理解することができます。しかし、この時代では、特に集中力や集中力が必要な人々にとって、情報過多やプライバシー漏洩の問題にも必然的に直面します。

Call of Duty Warzone は新しくリリースされたモバイル ゲームです。多くのプレイヤーは、このゲームの言語を中国語に設定する方法に非常に興味があります。実際、それは非常に簡単です。プレイヤーは中国語の言語パックをダウンロードするだけで、その後、次のことができます詳しい内容はこちらの中国語設定方法紹介で解説していますので、一緒に見ていきましょう。モバイル ゲーム Call of Duty: Warzone に中国語を設定する方法 1. まずゲームに入り、インターフェースの右上隅にある設定アイコンをクリックします。 2. 表示されるメニューバーで、[ダウンロード]オプションを見つけてクリックします。 3. このページの[SIMPLIFIEDCHINESE](簡体字中国語)を選択して、簡体字中国語のインストールパッケージをダウンロードします。 4. 設定に戻ります

中国語での VSCode セットアップ: 完全ガイド ソフトウェア開発では、Visual Studio Code (略して VSCode) が一般的に使用される統合開発環境です。中国語を使用する開発者は、VSCode を中国語インターフェイスに設定すると、作業効率が向上します。この記事では、VSCode を中国語インターフェイスに設定する方法を詳しく説明し、具体的なコード例を示す完全なガイドを提供します。ステップ 1: 言語パックをダウンロードしてインストールします。VSCode を開いた後、左側の

PHPDompdf で中国語の文字を正しく表示する方法 PHPDompdf を使用して PDF ファイルを生成する場合、中国語の文字化けの問題がよく発生します。これは、Dompdf がデフォルトで使用するフォント ライブラリに中国語の文字セットが含まれていないためです。中国語の文字を正しく表示するには、Dompdf のフォントを手動で設定し、中国語の文字をサポートするフォントを必ず選択する必要があります。この問題を解決するための具体的な手順とコード例をいくつか示します。 ステップ 1: 中国語フォント ファイルをダウンロードします。

Excelスプレッドシートは現在多くの人が使っているオフィスソフトの一つですが、パソコンがWin11なので英語のインターフェースが表示されていて、中国語のインターフェースに切り替えたいけど操作方法が分からないという方もいらっしゃいます。この問題を解決するには、この問題エディターがすべてのユーザーの質問に答えるためにここにあります。今日のソフトウェア チュートリアルで共有されるコンテンツを見てみましょう。 Excel を中国語に切り替えるためのチュートリアル: 1. ソフトウェアを起動し、ページ上部のツールバーの左側にある [ファイル] オプションをクリックします。 2. 以下の選択肢から「オプション」を選択します。 3. 新しいインターフェースに入ったら、左側の「言語」オプションをクリックします。

タイトル: PHPDompdf で中国語の文字化けを修復する効果的な方法. PHPDompdf を使用して PDF ドキュメントを生成する場合、中国語の文字化けは一般的な問題です。この問題は通常、Dompdf がデフォルトで中国語の文字セットをサポートしていないため、中国語のコンテンツが正しく表示されないことが原因で発生します。この問題を解決するには、PHPDompdf の中国語文字化け問題を解決するいくつかの効果的な方法を講じる必要があります。 1. カスタム フォント ファイルを使用する Dompdf の中国語文字化けの問題を解決する効果的な方法は、

『WWE2K24』はVisual Conceptsが制作し、2024年3月9日に正式リリースされたレーシングスポーツゲームです。このゲームは非常に高く評価されており、多くのプレイヤーが中国語版がリリースされるかどうかに熱心に興味を持っています。残念ながら、今のところ「WWE2K24」は中国語版をまだローンチしていない。 wwe2k24 は中国語になりますか? 回答: 中国語は現在サポートされていません。 Steam中国地域におけるWWE2K24の標準版の価格は199元、デラックス版は329元、記念版は395元です。ゲームには比較的高い構成要件があり、プロセッサ、グラフィックス カード、または実行メモリに関して特定の基準があります。公式推奨構成と最小構成の紹介:

PHP で書かれた txt ファイルの中国語文字化けを解決するヒント. インターネットの急速な発展に伴い、PHP は広く使用されているプログラミング言語として、ますます多くの開発者に使用されています。 PHP 開発では、中国語のコンテンツを記述する txt ファイルなどのテキスト ファイルの読み取りと書き込みが必要になることがよくあります。ただし、エンコード形式の問題により、書かれた中国語が文字化けして表示されることがあります。この記事では、PHPでtxtファイルに書き込まれた中国語の文字化けを解決するテクニックと、具体的なコード例を紹介します。 PHP、テキストの問題分析
