検索
ホームページよくある問題MVC、MVP、MVVMの違いは何ですか?

違い: MVC は「Model-View-Controller」の略、MVP は「Model-View-Presenter」の略、MVVM は「Model-View-ViewModel」の略です。MVP と MVVM はどちらも MVC から派生したものです。の。 MVC では、View は Model から直接データを読み取りますが、MVP では、View は Model を直接使用しません。

MVC、MVP、MVVMの違いは何ですか?

MVC、MVP、MVVM は 3 つの一般的な設計パターンです。このうち、MVC はモデル・ビュー・コントローラー、MVP はモデル・ビュー・プレゼンター、MVVM はモデル・ビュー・ビュー・モデルの略であり、MVP と MVVM はすべて MVC から派生したものです。これらの設計パターンはすべて、一般に、テストと保守が簡単な、緩やかに構成されたアプリケーションの開発に役立ちます。

1. MVC (モデル-ビュー-コントローラー)

MVC は比較的直感的なアーキテクチャ パターンであり、元々はサーバーサイドの Web 開発に根ざしています。その後、私はクライアント側の Web 開発に徐々に慣れ、その複雑さと豊富さに対応できるようになりました。

MVC、MVP、MVVMの違いは何ですか?

#MVC パターンは、アプリケーションを 3 つの部分に分割します。

●モデル: モデル (アプリケーションのデータとデータに関連するビジネス ロジックをカプセル化するために使用されます)データの処理方法)

# ● View: ビュー(レンダリングされたページ)

##● Controller: コントローラー(MとVの間のコネクタ、アプリケーションのプロセスとページのビジネスロジックを制御するために使用されます)

MVC の特徴:

MVC モデルの特徴は、関心事の分離、つまりデータ モデルとビジネスおよびアプリケーションでの表示の論理的分離を実現することです。クライアント側 Web 開発では、コードがモデル (M データ、操作データ) とビュー (データを表示する V-HTML 要素) の間で分離され、疎結合されるため、クライアント アプリケーションの開発、保守、テストが容易になります。

ユーザー操作 -> ビュー (ユーザー入力操作の受信を担当) -> コントローラー (ビジネス ロジック処理) -> モデル (データの永続化) -> ビュー (結果をビューにフィードバック):

1. View はコントローラーに指示を送信します;

2. コントローラーがビジネス ロジックを完了した後、モデルの状態を変更する必要があります;

3. モデルは新しいデータをビューに送信します, ユーザーはフィードバックを受け取ります。

2. MVP (モデル-ビュー-プレゼンター)

MVP は、MVC のコントローラーをプレゼンター (プレゼンテーション) に置き換えます。目的は、View と Model の間の接続を完全に切断し、Presenter が View と Model の間の通信の方向を完全に分離するブリッジとして機能することです。


MVC、MVP、MVVMの違いは何ですか? MVP の機能:

● M、V、P 間の双方向通信。

#●View と Model の間に通信はなく、すべて Presenter を通じて配信されます。 Presenter は Model と View を完全に分離し、メインのプログラム ロジックは Presenter に実装されます。


#ビューは非常に薄く、ビジネス ロジックを展開しません。これは「パッシブ ビュー」 (パッシブ ビュー) と呼ばれ、主導権を持ちませんが、プレゼンターは非常に厚く、すべてのロジックが展開されます。そこに配備されています。

##●プレゼンターは特定のビューに直接関係しませんが、定義されたインターフェイスを通じて対話するため、ビューが変更されてもプレゼンターは変更されずに維持され、再利用できます。それだけでなく、さまざまなユーザー操作をシミュレートしてプレゼンターをテストするためのテスト ビューを作成することもできるため、自動テスト ツールを使用する必要がなくなります。

3. MVVM (Model-View-ViewModel)

MVVM モードでは Presenter の名前が ViewModel に変更されますが、これは基本的に次と同じです。 MVP モード 完全に一貫性があります。 MVP が MVC をさらに改良したものであるとすれば、MVVM は考え方を完全に変えたものです。 「データ モデル データの双方向バインディング」という考え方を核としているため、View と Model の間に接続はありません。対話は ViewModel を介して行われ、Model と ViewModel 間の対話は双方向であるため、ビューのデータの変更は同時にデータ ソースも変更され、データ ソース データの変更はすぐにビューに反映されます。

概要: MVC、MVP、MVVMの違いは何ですか?

MVC では、View はコントローラー経由ではなくモデルから直接データを読み取ります。ビューとコントローラーの間には多対 1 の関係があります。 MVP では、View は Model を直接使用しません。それらの間の通信は Presenter (MVC のコントローラー) を通じて実行されます。すべての対話は Presenter 内で発生し、View と Presenter の間は 1 対 1 の関係になります。

MVVM モードは基本的に MVP モードと同じです。唯一の違いは、MVVM が双方向バインディング (データ バインディング) を使用することです。View での変更は自動的に ViewModel に反映され、その逆も同様です。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がMVC、MVP、MVVMの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません