差分

ナビゲーションに移動 検索に移動

Model View ViewModel

1,745 バイト追加, 2012年4月10日 (火) 06:12
ページの作成:「'''Model View ViewModel'''(MVVM)とは、ユーザーインターフェイスUI)を構築するためのデザインパターンのひとつであ...」
'''Model View ViewModel'''(MVVM)とは、[[ユーザーインターフェイス]]([[UI]])を構築するための[[デザインパターン]]のひとつである。

勉強中。

=== MVVMの構造 ===
== モデル(Model) ==
モデルはアプリケーションのデータを格納する部分。
ビジネスドメインの操作と[[データ]]からなる[[オブジェクト]]で、UIからは独立している。

[[MVC]]パターンのモデルと同じもの。

== ビューモデル(ViewModel) ==
ビューモデルは操作とデータに対する純粋な表示を受け持つ。

ここで注意しなければならないのはビューモデルはUI自体ではないという点。たとえばビューモデルはボタンやスタイルなどの視覚的な機能を持たない。あくまでUIを抽象化したものである。さらにビューモデルはビューの参照を持たない。[[単体テスト]]がよりいっそう捗る。

== ビュー(View) ==
ビューは、ビューモデルから得た情報を表示したり、ビューモデルにコマンドと呼ばれる操作を送ることに特化する。

[[MVC]]パターンとの決定的な違いはこのビューであり、MVCではコントローラーがモデルとビューを結び付け、以降はビューとモデルが好き勝手にやっていたが、MVVMではビューが通信できるのはビューモデルだけである。例えるなら、MVCは直球な出会い系サイトで、MVVMは監視人がいて建前上は出会い系サイトではないSNSゲームサイトといったところか。

== 関連項目 ==
* [[Model View Controller]]
== 参考文献 ==
<references/>
== 外部リンク ==
匿名利用者

案内メニュー