Model View ViewModel
MVVMでは、プログラムを3つの要素、Model (モデル)、View (ビュー)、ViewModel (ビューモデル) に分割する。
View(ビュー)はアプリケーションの扱うデータをユーザーが見るのに適した形で表示し、ユーザーからの入力を受け取る要素である。すなわちユーザインタフェースの入出力が責務である。Viewは宣言的に定義され、渡された値に基づいて描画をおこない、ユーザー入力を通知する。よってMVVMにおけるViewは状態を持たない。
実装ではしばしば、ViewModelとのデータバインディングを介した値の取得と描画・ユーザー入力の通知がおこなわれる。そのためテンプレートエンジンや宣言型のドメイン固有言語 (DSL) にViewを委譲する形のプラットフォームと非常に相性がよくなる。