zirconsoft’s blog

Microsoft関係について取り上げます。

MVVMパターンとは?WPFとかでよく使われます

MVVMパターンは、Windows presentation foundation(WPF)アプリケーションを作ったことがある人なら、おそらく聞いたことがあると思います。
自分の復習をかねて、ブログに書きました。この説明はかなり省いているので、詳細についてはCortanaさんに聞いてください。

MVVMパターンとは

オブジェクト指向において、クラスを大きく分けて3つの分類をする考え方です。
M モデル(Model)クラス
V ビュー(View)クラス
VM ビューモデル(ViewModel)クラス

モデルクラスとは

主にデータベースやファイルなどからデータの出し入れを行うクラスです。
データを加工する処理もここで行われます。
スマホアプリケーションにおいては、通信の処理など書かれたりもします。
システムの中枢となるクラスです。

ビュークラスとは

UI/UXを保持するクラスです。
ユーザーからの見た目がここに置かれます。
アニメーションや、UIの動作に関わるプログラムが書かれます。

ビューモデルクラス

ビューとモデルをつなげるクラスです。
ビューでの動作に基づいて、モデルクラスのメソッドをいくつか呼び出し、その結果をビューに伝えます。

MVCパターンとの違い

ASP.NETRuby on Railsなどで使われるMVCパターンとの違いはほとんどありません。
MVVMパターンのビューモデルクラス、MVCパターンのコントローラークラスを言い換えただけです。

必要以上にに分類を気にする必要はない。

プログラミングがわかりやすいのであれば、ビュークラスにビューモデルの仕事をさせたり、ビューモデルクラスにモデルの仕事をさせても、良いプログラムになると思います。
ですが、基本的にはクラスをきれいに分類するとわかりやすいので、保守性のある読みやすいコードを目指すためにも、MVVMモデルをしっかり意識してプログラミングをしましょう。