MVVMパターン(Model-View-ViewModelデザインパターン)とは
MVVMパターンとは、UIパターンの一種です。ビュー(View)と呼ばれる、ユーザーからのデータ入力や指示を入力したり、結果を出力するウィンドウUIと それらの入力を処理するコード(Model)をできるだけ分離(疎結合)して、ウィンドウUI(View)の変更が、それらを処理するコード(Model)に影響を与えなくすることが目的です。
そこで問題になるのが、ウィンドウUI(View)の状態の管理(ViewModel)です。ウィンドウUI(View)を開くたびに、初期状態になっているとユーザーにストレスを与えます。 そのため、どこかにその状態を保存しておき、ウィンドウUI(View)を変更する作業が必要です。この操作を、処理するコード(Model)と分離して、ビューモデル(ViewModel)としてまとめます。
このようにして、処理するコード(Model)をウィンドウUI(View)のための実装から独立させます。
このような、プログラムを、Model-View-ViewModelの3つに分割して、実装するスタイルが、MVVMパターン(Model-View-ViewModelデザインパターン)と呼ばれます。
MVVMパターンとPrizm
MVVMパターンは、概念的には、薄ぼんやりと理解できるのですが、どうやってプログラミングに反映させればよいのかよくわかりません。
調べてみるとMVVMパターンの実装は、Toolkitを使うのが一般的なようです。そこで、MVVMパターンの実装に使うToolkitのドキュメントを読めば、 MVVMパターンの実装の実装について理解できると考えました。
「Developer's Guide to Prism Library 5.0 for WPF」の和訳の目次
「Developer's Guide to Prism Library 5.0 for WPF(原文)」
- はじめに
- Prism Library 5.0 for WPFのダウンロードとセットアップ
- Prism Library 5.0 for WPFの新機能
- Prism Library 5.0 for WPF Developer's Guideの目次
- 1: Prism Library 5.0 for WPFの序論
- 2: Prism Library 5.0 for WPFを使用して、アプリケーションを初期化する
- 3: WPFのための Prism Library 5.0を使用しているコンポーネント間で依存関係を管理する
- 4: WPFのための Prism Library 5.0を使用したモジュール・アプリケーション開発
- 5: WPFのためのPrism Library 5.0を使用してMVVMパターンを実装する
- 6: WPFのためのPrism Library 5.0を使用する高度なMVVMの筋書き
- 7: Prism Library 5.0 for WPFを使用して、ユーザー・インターフェイスを構築する
- 8: Prism Library 5.0 for WPFを使用するナビゲーション
- 9: Prism Library 5.0 for WPFを使用して、疎く結合したコンポーネントの間の情報をやりとりする
- 10: Prism Library 5.0 for WPFを使用したアプリケーションの配布
- 11: Prism Library 5.0 for WPFのための用語集
- 12: Prism Library 5.0 for WPFのパターン
- 13: Prism Library 5.0 for WPF
- 14: Prismライブラリ4.1からのアップグレード
- 15: Prism Library 5.0 for WPFを拡張する
- 16: Prism Library 5.0 for WPFを使用したコード・サンプル
- 17: Prism Library 5.0 for WPF hands-on labを使用して、開始する。
- 18: Prism Library 5.0 for WPF hands-on labを使用して、アプリケーションの公開と更新をします
- 19: Prism Library 5.0 for WPFの開発者ガイドのための参考文献
参考になる実装
ReferenceImplementation
Prismには、参考になる実装と呼ばれるサンプルが含まれています。これは、実際の使い方に基づく複合アプリケーションです。 この意図的に不完全なアプリケーションは、複合アプリケーションの基本的なアーキテクチャを説明しています。 アプリケーションの内では、あなたは、一般的な、そして、開発者が、複合アプリケーションを作成するとき、直面する繰り返し起こる難問のためのソリューションを見るでしょう。