Model View ViewModel
2012年4月10日 (火) 06:49時点におけるimported>Administratorによる版
モデル(Model)
ビューモデル(ViewModel)
ビューモデルは操作とデータに対する純粋な表示を受け持つ。
ここで注意しなければならないのはビューモデルはUI自体ではないという点。たとえばビューモデルはボタンやスタイルなどの視覚的な機能を持たない。あくまでUIを抽象化したものである。さらにビューモデルはビューの参照を持たない。単体テストがよりいっそう捗る。
ビュー(View)
ビューは、ビューモデルから得た情報を表示したり、ビューモデルにコマンドと呼ばれる操作を送ることに特化する。
MVCパターンとの決定的な違いはこのビューであり、MVCではコントローラーがモデルとビューを結び付け、以降はビューとモデルが好き勝手にやっていたが、MVVMではビューが通信できるのはビューモデルだけである。例えるなら、MVCは直球な出会い系サイトで、MVVMは監視人がいて建前上は出会い系サイトではないSNSゲームサイトといったところか。