[.NET] WPF アプリケーションの Model-View-ViewModel
Model-View-ViewModel …よくもそんな舌を噛みそうな名前にしてくれたな! (w
MSDN マガジン 2009年 2月号より
Model-View-ViewModel デザイン パターンによる WPF アプリケーション
ViewModel はビューへの参照を必要としません。 ビューは ViewModel のプロパティにバインドされ、 ViewModel はモデル オブジェクトに含まれているデータと、 ビューに固有の他の状態を公開します。
ようするに、 「ビュー」 は WPF や Silverlight の画面、 UI です。
ViewModel は、 画面から UI を取っ払った抽象、 みたいなもんです。
つまり、 ViewModel はそのままに、 UI を WPF から Silverlight に交換できる ( 上手くいけば f(^^; )、 というわけです。
ただし、 ViewModel が表しているのは、 あくまでも画面です。 その点で、 問題領域 ( ビジネスルール ) を表している Model とは別物だ、 というわけです。
大事なこと
・ 画面 ( View ) は、 ViewModel とだけ相互作用します。 画面のイベントも、 いったん ViewModel で受けます。
・ ビジネスロジック ( Model ) は、 ViewModel と相互作用します。 画面 ( View ) と直接相互作用してはいけません。
・ ViewModel は、 画面 ( View ) に固有なモノ ( WPF なら、 PresentationFramework.dll に含まれている SystemColors クラスなど ) を含んではいけません。
( 2009/02/24 追記 )
かずきさんが、 「 [WPF] [C#] Model View ViewModel パターンでハローワールド」 という記事を書いてくださってます。
| 固定リンク
« [Windows7] β版 ~ 日本語フォーラム と クライアント TechCenter @Microsoft TechNet | トップページ | [NEWS] 車載ソフト用プラットフォーム AUTOSAR、 日本車も採用へ »
「プログラミング」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【.NET Core】 プロジェクトを作ると 「project.assets.json が見つかりません」 エラー(2018.02.10)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
「* プログラミング ( WPF )」カテゴリの記事
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- [VS2010] (続) オプション 「生成されたコードから結果を表示しない」 の挙動不審(2011.08.24)
- う~む… .NET Framework 4 になっても、 IE を操作するのはめんどくさいままなのか!(2010.12.04)
- MSDN マガジン、読んでますか!?(2010.05.27)
- [WPF] 盾アイコン付きのボタンを作る (続)(2010.02.20)
この記事へのコメントは終了しました。
コメント