Knockoutjs-mvvm-framework

提供:Dev Guides
移動先:案内検索

KnockoutJS-MVVMフレームワーク

  • Model-View-ViewModel(MVVM)*は、ソフトウェアアプリケーションを開発するためのアーキテクチャ設計パターンです。 MVVMは、2005年にMicrosoft ArchitectのJohn Gossmanによって開発されました。 このパターンは、Model-View-Controller(MVC)パターンから派生しています。 MVVMの利点は、アプリケーションレイヤーのグラフィカルユーザーインターフェイスをビジネスロジックから分離することです。 MVVMは、基になるモデルのデータを非常に簡単に表現および管理できるように処理します。 MVVMのViewModelは、Viewの状態とアクションの抽象バージョンを表します。

ビュークラスは、ModelクラスとViewModelクラスが存在することを知りません。また、ModelとViewModelは、ビューが存在することを知りません。 モデルは、ViewModelとViewが存在することも認識しません。

建築

MVVMアーキテクチャ

View

ビューは、データを表すためにマークアップ言語を使用して作成されたグラフィカルユーザーインターフェイスです。 ビューは、データバインドの概念を介してViewModelのプロパティにバインドし、モデルデータに間接的に接続します。 ViewModelで行われた変更のために、ビューを変更する必要はありません。 ViewModelのデータに加えられた変更は、バインディングによりViewに自動的に伝播されます。

モデル

モデルは、リアルタイムデータを保持するドメインデータまたはビジネスオブジェクトです。 モデルには動作がありません。 動作は主にビジネスロジックで実装されます。

ViewModel

ViewModelは、ModelとViewの表示ロジックからのデータが一緒にバンドルされる中心的な場所です。 ViewModelは、データの動的な状態を保持します。 相互に通信するために、ViewとViewModelの間に暗黙的なバインダーがあります。 このバインディングには、宣言データとコマンドバインディングが含まれます。 このバインディングにより、ViewとViewModelの同期が実現されます。 Viewで行われた変更はすべてViewModelに反映され、同様にViewModelでの変更はすべて自動的にViewに反映されます。 この2ウェイバインディングメカニズムの存在は、このMVVMパターンの重要な側面です。