ホームページ  >  記事  >  MVVMパターンとMVCパターンの違い

MVVMパターンとMVCパターンの違い

Guanhui
Guanhuiオリジナル
2020-05-30 16:41:224919ブラウズ

MVVMパターンとMVCパターンの違い

MVVM モードと MVC モードの違い

1. MVVM モードは MVC モードから派生したものです;

2 、 MVVM モードは双方向のデータ バインディングですが、MVC モードは一方向の通信です。

3. MVVM モードは一般にフロントエンド開発に使用され、MVC モードはサーバー側で多く使用されます。

MVC

MVC モデルはもともとサーバー側の Web 開発に根ざしており、後にクライアントサイド開発の能力が向上し、Web 開発の複雑さと豊富さに対応できるようになります。

MVC は Model-View-Controller の略称で、アプリケーションを 3 つの部分に分割します。

  • Model: モデル (アプリケーションとビジネスを論理的にカプセル化するために使用されます)関連データとデータ処理メソッド)

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

  • Controller: コントローラー (M と V の間のコネクタが使用されます)

MVC の特徴:

MVC パターン を分離しているのが特徴です。つまり、アプリケーション内のビジネス ロジックやプレゼンテーション ロジックからデータ モデルを切り離すことです。クライアント側 Web 開発では、コードがモデル (M データ、操作データ) とビュー (データを表示する V-HTML 要素) の間で分離され、疎結合されるため、クライアント アプリケーションの開発、保守、テストが容易になります。

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

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

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

MVC の利点:

  • #結合度が低く、ビュー層とビジネス層が分離されているため、再コンパイルせずにビュー層のコードを変更できます。モデルとコントローラーコード。

  • 高い再利用性

  • 低いライフサイクルコスト

  • MVC により、ユーザーの開発と保守が可能になりますインターフェイス 技術的な内容が削減されます

  • 高い保守性、ビュー層とビジネスロジック層の分離により、WEB アプリケーションの保守と変更も容易になります

  • デプロイメントの迅速さ

MVC の欠点:

  • 中小規模のアプリケーションには適していません。 MVC の適用に時間がかかる それほど大きくないアプリケーションは、通常、得られるものよりも失うものの方が多くなります。

  • ビューとコントローラーの接続が近すぎます。ビューとコントローラーは互いに分離されていますが、密接に関連するコンポーネントです。ビューにはコントローラーがなく、そのビューにはコントローラーがありません。アプリケーションは非常に限定されており、その逆も同様であるため、独立した再利用が妨げられます。

  • ビューはモデル データへのアクセスが非効率的です。モデル操作インターフェイスによっては、十分な表示データを取得するためにビューを複数回呼び出す必要がある場合があります。変更されていないデータへの不必要に頻繁なアクセスも、運用パフォーマンスに悪影響を及ぼします。

MVC アプリケーション:

Web アプリの普及が始まった当初、MVC は Java (struts2) と C# (ASP.NET) に適用されました。サーバー側アプリケーション、そしてその後クライアント側アプリケーションでも、MVC パターンに基づいて AngularJS が登場しました。

MVVM

MVVM は、Model-View-ViewModel の略です。 Microsoft の WPF (Windows Presentation Foundation - Microsoft が立ち上げた Windows ベースのユーザー インターフェイス フレームワーク) は、新しい技術エクスペリエンスをもたらし、ソフトウェア UI レイヤーをより詳細かつカスタマイズ可能にします。同時に、技術レベルでは、WPF にはバインディング、依存関係プロパティ、ルーテッド イベント、コマンド、DataTemplate、ControlTemplate などの新機能も導入されています。 MVVM パターンは、実際には、MV パターンと WPF を組み合わせたアプリケーション方法から進化した新しいアーキテクチャ パターンです。これは、オリジナルの MVP フレームワークに基づいており、ますます複雑になる顧客ニーズの変化に対応するために WPF の新機能が組み込まれています。

MVVM の利点:

MVVM モードは MVC モードと似ており、主な目的はビュー (View) とモデル (Model) を分離することです。いくつかの利点があります:

  • 低結合、ビュー (View) はモデルとは独立して変更および修正できます。ViewModel は異なる「ビュー」にバインドできます。ビューが変更されると、モデルは変更されないままにすることができ、モデルが変更されてもビューも変更されないままにすることができます。

  • 再利用性。ViewModel にビュー ロジックを配置すると、多くのビューでこのビュー ロジックを再利用できます。

  • 独立した開発。開発者はビジネス ロジックとデータ開発 (ViewModel) に集中でき、デザイナーはページ デザインに集中できます。Expression Blend を使用すると、インターフェイスを簡単に設計して XML コードを生成できます。

  • テスト可能、インターフェイスのテストは常に困難でしたが、現在では ViewModel 用のテストを作成できます。

推奨チュートリアル: 「PHP チュートリアル

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

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