0いまさらだけど、もう一度MVC。Modelそのアプリケーションが扱う領域のデータと手続き(ビジネスロジック(ショッピングの合計額や送料を計算するなど))を表現する要素。パターンが用いられることもある)。多くのアプリケーションではデータの格納に永続的な記憶の仕組み(データベースなど)が使われている。MVCの概念では、データの(UI以外の)入出力は取り扱わないので、データアクセスも本来MVCの概念の範疇を超えるものではあるが、敢えていえばmodelの中に隠蔽されると考えられる。Viewmodelのデータを取り出してユーザが見るのに適した形で表示する要素である。UIへの出力を担当する。ウェブアプリケーションではHTMLを生成して動的にデータを表示するためのコードなどにあたる。Controllerユーザの入力(通常イベントとして通知される)に対して応答しそれを処理する要素である。UIからの入力を担当する。modelとviewに変更を引き起こす場合もあるが、直接に描画を行ったり、modelの内部データを直接操作したりはしない。