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