「Model View ViewModel」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (ページの作成:「'''Model View ViewModel'''(MVVM)とは、ユーザーインターフェイス(UI)を構築するためのデザインパターンのひとつであ...」) |
imported>Administrator 細 (MVVMをModel View ViewModelへ移動) |
(相違点なし)
|
2012年4月10日 (火) 06:15時点における版
Model View ViewModel(MVVM)とは、ユーザーインターフェイス(UI)を構築するためのデザインパターンのひとつである。
勉強中。
MVVMの構造
モデル(Model)
モデルはアプリケーションのデータを格納する部分。 ビジネスドメインの操作とデータからなるオブジェクトで、UIからは独立している。
MVCパターンのモデルと同じもの。
ビューモデル(ViewModel)
ビューモデルは操作とデータに対する純粋な表示を受け持つ。
ここで注意しなければならないのはビューモデルはUI自体ではないという点。たとえばビューモデルはボタンやスタイルなどの視覚的な機能を持たない。あくまでUIを抽象化したものである。さらにビューモデルはビューの参照を持たない。単体テストがよりいっそう捗る。
ビュー(View)
ビューは、ビューモデルから得た情報を表示したり、ビューモデルにコマンドと呼ばれる操作を送ることに特化する。
MVCパターンとの決定的な違いはこのビューであり、MVCではコントローラーがモデルとビューを結び付け、以降はビューとモデルが好き勝手にやっていたが、MVVMではビューが通信できるのはビューモデルだけである。例えるなら、MVCは直球な出会い系サイトで、MVVMは監視人がいて建前上は出会い系サイトではないSNSゲームサイトといったところか。