« [Windows7] β版 ~ 日本語フォーラム と クライアント TechCenter @Microsoft TechNet | トップページ | [NEWS] 車載ソフト用プラットフォーム AUTOSAR、 日本車も採用へ »

2009年2月20日 (金)

[.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、 日本車も採用へ »

* プログラミング ( WPF )」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/44121869

この記事へのトラックバック一覧です: [.NET] WPF アプリケーションの Model-View-ViewModel:

« [Windows7] β版 ~ 日本語フォーラム と クライアント TechCenter @Microsoft TechNet | トップページ | [NEWS] 車載ソフト用プラットフォーム AUTOSAR、 日本車も採用へ »