xaml やるうえで把握しておきたいMVVM
xaml とか勉強してると何かと出てくる Model - View - ViewModel ( MVVM ) という構造は把握しておきたいんで、 とりあえず今のところの知識をまとめておく(アウトプット大事)。
目次
冒頭にも書いた MVVM はいわゆるデザインパターン的なもの。アプリケーションが下記3つのレイヤー(層)に分割されて構成される。 MVVM の内容から、下記のような関係性にあり、View 側から Model 方向への一方通行で呼び出し等が行われる。 View - ViewModel - Model ユーザを加えるとこんなん。 ユーザ - View - ViewModel - Model モデルはきっちり View と切り離して実装することになる。これは予測だけれど、たぶん ViewModel が一番ぐちゃぐちゃになる。
View の表示が遅い(ViewModel側の変換が遅いなど)なんてことにならないように、UI スレッドとは別スレッドで処理したり、制御をUI スレッドに戻さないといけないから。 View 側も View だけに絞って書かないといけない。つまり、できうる限り XAML だけにして内部コードが内容するのがいいのかな?
それを実現するためにも、XAML の Command の知識は欠かせない。Command によって、イベントを書かずに済むからだ。MVVMって何ぞや
レイヤー名
説明
モデル( Model )
データと生のコンテンツを処理するレイヤー。ファイルや Web サービスからデータを取得して管理する部分。
ビュー( View )
コントロールとグラフィックスを表示するレイヤー。 XAML で書くところ。
ビューモデル( ViewModel )
モデルとビューの間にあるレイヤー。モデルのデータやコンテンツをビューに提供しやすい形式に変換する。
MVVM で実装するうえで大事になること