技術/ソフトウェア設計/MVVM(Model View ViewModel)デザインパターンとData Bindingの参考URLメモ(2015-03時点)
技術 / ソフトウェア設計 / MVVM(Model View ViewModel)デザインパターンとData Bindingの参考URLメモ(2015-03時点)
id: 1390 所有者: msakamoto-sf
作成日: 2015-03-29 16:09:29
カテゴリ: Java JavaScript システム開発 プログラミング
Web開発でもJSのライブラリやフレームワークで目にするようになったMVVM(Model View ViewModel)とかData Binding って何だろう、とぐぐったので、2015-03時点の参考URLのメモ。
- WPF(Windows Presentation Foundation)やSilverlightの世界で生まれた考え方らしい。
- そのため、MSDNとかWindows系の開発者のblog等で丁寧に動作原理を解説してる記事が多い。
- Model View ViewModel - Wikipedia
分かりやすかった:
- MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? - @IT
- MVVM パターンをより深く理解する - Yuta Watanabe's Blog
- いまさら聞けない「MVVM + Messenger パターン」超入門 - present
- WPF MVVM初心者がみたMVVMライブラリが提供するもの | tocsworld
MSDNの固めの解説記事:
- Model-View-ViewModel (MVVM) パターンの使用 - Windows app development
- 5: Implementing the MVVM Pattern Using the Prism Library 5.0 for WPF
MVVMとData Bindingの関連性の自分なりの認識:
- MVVMのキーとなるのがObserverパターンであり、この応用としてData Bindingがある。
- View と ViewModelはData Bindingで結ばれている、つまり双方向でObserveな関係(誤解してるかもなので、今の時点でのイメージ的な言い回し)。
- Viewへの変更イベントはそのままViewModelへ通知され、ViewModelが対応するModelをアップデートする。
- 逆に、別のコードからのModelへの変更はそのままViewModelに通知され、ViewModelが適切なPresentationに変換してViewに通知する。
Data Bindingについては、以下の記事が基本的な作りを解説してくれてて分かりやすかった:
- 連載 WPF/Silverlight UIフレームワーク入門:第2回 データの表示と入力に必要な知識 (1/5) - @IT
ただ、Observeによる処理の流れでは、重い処理が間に入ると流れがそこで止まってしまう。そのためマルチスレッドで重い処理を切り出すなどの工夫が必要となる。
MVVMにおけるマルチスレッド処理の活用について、いくつか参考になりそうな記事が見つかったのでメモ:
- wpf - MVVM and multi threading - Stack Overflow
- MVVM - MVVM アプリにおけるマルチスレッドとディスパッチ
- MVVM and Threading | Actively Lazy
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2017-02-12 16:11:02
md5:df90cdd84ede766c83ee27ca2509fb6f
sha1:b009a4d11d9f7c6a7fa26b82332f66409e8f064b