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