MVC (モデル ビュー コントローラー) モデル、ビュー、コントローラーは、比較的広く使用されている構造設計パターンです。
モデル: MVC デザインパターンで表示する必要があるデータです。通常の状況では、モデルはデータベースからデータを読み取り、モデルの状態を保存するなど、データ アクセス方法とデータ メンテナンスを提供する必要があります。
ビュー: モデル内のデータを表示するために使用されるユーザー インターフェイスです。一般的に、ビューは HTML ページです。
コントローラー: モデルの状態を変更し、対応するモデル データを表示する適切なビューを選択するために、ユーザー入力または対話型コマンドを処理するために使用されます。
(1) ユーザーがコントローラーにリクエストを送信します。
(2) ユーザーリクエストを受信した後、コントローラーはモデルに関連データの取得をリクエストします。
(3) モデルは対応するデータをコントローラーに返します。
(4) コントローラーは、関連するデータを指定されたビューに送信します。
(5) ビューはユーザーにデータを提示します。
上記の紹介を通じて、誰もが MVC について一定の理解と理解を得たと思います。それでは、MVC と以前に学習した 3 層アーキテクチャとの類似点と相違点は何でしょうか。
MVC と 3 層アーキテクチャのトリガー ポイントは同じであり、階層化と分離です。これらはすべてディスプレイとデータの分離を実現し、システムの結合を大幅に軽減します。
しかし、専門的な観点から見ると、MVC は 3 つのレイヤーとは何の関係もありません。3 つのレイヤーは 3 つのレイヤーであり、MVC は MVC です。それらを結び付けることができるのは「3」という単語だけですが、初心者の観点からは、この 2 つを区別するために 2 つを組み合わせた方が理解しやすくなります。
同じであることを除けば、残りはすべて異なると言えます。それぞれの動作メカニズムの詳細については、以下の図を参照してください:
3 つのレイヤーの UI は MVC の View と Controller に分解され、BLL と DAL は Model にマージされます。なお、三層アーキテクチャと呼んでいますが、必要に応じて複数の層に分けることができます。モデルは 3 番目の層にも関与しますが、3 番目の層のモデルは MVC のモデルとはまったく異なります。一方、MVC のモデルにはビジネス ロジックとデータ アクセスが含まれます。
(1) 単体テストが容易
(2) テスト駆動開発の実装が容易
(3) 拡張・置き換えが容易
(4) Web フォームの関連機能をサポートします
(5) URL がコントローラーにマッピングされます
MVC には Web フォーム用の新機能がいくつかありますが、MVC は従来の Web フォーム技術を置き換えることはできません。異なるシナリオでのみ使用され、異なる利点と欠点があります。どの技術が高く、どの技術が低いかは一概に言えません。開発者は自社の実情に応じて、対応する技術開発プロジェクトを選択する必要があります。上記は、関連情報を参考にして MVC と 3 層アーキテクチャについて個人的に理解したものです。欠点がある場合は、批判して修正してください。
上記は MVC と 3 層アーキテクチャの簡単な説明です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。