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