ホームページ >ウェブフロントエンド >jsチュートリアル >MVVM パターンの ViewModel、View、Model の違いは何ですか? _JavaScript スキル

MVVM パターンの ViewModel、View、Model の違いは何ですか? _JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 15:54:041455ブラウズ

モデル: は非常に単純で、ビジネス ロジックに関連するデータ オブジェクトであり、通常はデータベースからマッピングされ、データベースに対応するモデルと言えます。

View: も非常にシンプルで、表示されるユーザー インターフェイスです。

基本的に、ほとんどのソフトウェアが行うことは、データ ストレージからデータを読み取り、それをユーザー インターフェイスに表示し、ユーザー インターフェイスから入力を受け取ってデータ ストレージに書き込むことです。したがって、データストレージ(モデル)とインターフェース(ビュー)の2層にすることには基本的に異論はありません。ただし、モデルをビューに表示する方法と、ビューからモデルにデータを書き込む方法については、人によって意見が異なります。

MVC 派の見解では、インターフェイス上のすべての変更はイベントであり、ユーザーの入力をモデル内のオブジェクトに変換するための一連のコードを記述するだけで済みます。

MVVM の考え方では、ビュー内のさまざまなコントロールに対応するデータ オブジェクトも定義します。このようにして、このデータ オブジェクトが変更される限り、ビューに表示されるコンテンツは自動的に更新されます。ビューで行われるどのような操作でも、このデータ オブジェクトはそれに応じて自動的に更新され、非常に美しいです。つまり:

ViewModel: はインターフェース (ビュー) に対応するモデルです。多くの場合、データベース構造はインターフェイス コントロールに 1 対 1 で直接対応できないため、ビュー上のコントロールに明確に対応する別のデータ オブジェクトを定義する必要があります。 ViewModel の役割は、モデル オブジェクトを、表示および入力の受け入れが可能なインターフェイス データ オブジェクトにカプセル化することです。

ビューモデルのデータについては、ビューで自動的に更新され、モデルに同期されるため、コードのこの部分は共通のフレームワークとして記述できるため、プログラマは心配する必要はありません。

簡単に言えば、ViewModel は View と Model の間のコネクタであり、ViewModel を通じて双方向のバインディングを実現します。

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