MVVM

概要

Model-View-ViewModel
MVC(Model-View-Controller)の派生
Controllerの部分を自動化してある。
(「ASP.NET MVC 概念」参照)

Model

アプリケーションのドメイン(問題領域)を担う。
ドメイン≒業務、ビジネスロジック
計算や、サーバーとの通信処理等を記述する部分

View

UIへの出力、UIからの入力を担う。
MVVMにおけるViewはViewModelにおけるデータを自動バインドする

ViewModel

Viewを描画する為のデータ保持、Viewから受け取ったデータをModelへ伝達する処理を担う

JavaScriptフレームワーク

MVCフレームワーク、MVVCフレームワークとも呼ばれる
ViewModelが持つデータをViewに記述した変数に自動バインドさせる為に、
以下の様なJavaScriptフレームワークを用いるのが一般的
Knockout.js
AngularJS
Vue.js