48

Model-View-ViewModel パターンに関する多くの優れた記事を読みましたが、私のチームはこのパターンをアプリの最新バージョンに実装する予定です。私はまだ、これを機能させるために一緒に行くすべてのビットを完全には得ていません。私がやり遂げることができるこのパターンの良い例を見つけたいと思います。Jason Dolinger がこちらのビデオで行っているように小規模なものですが、ゆっくりとしたペースで自分で作業できるものが欲しいです。

よろしくお願いします。

4

8 に答える 8

29

基本的に、ViewModel はモデルのラッパーです。これはまだあまり役に立たないかもしれません :-) モデルを、アプリケーションが処理するデータと考えてください。人に誕生日があり、その人の誕生日を入力するフォームが必要になる場合があります。日付が 01-02-2009 12:00:00AM のように表示される単純な TextBox を使用しているとします。まず、時刻の部分は必要ありません。また、2009 年 1 月 2 日の部分はロケール設定に依存するため、満足できない場合があります。

ここで ViewModel が登場します。Person クラスをラップし、日付を年、月、日の 3 つの整数値として公開します。プロパティ セットでは、さまざまな値から日付を作成しようとし、発生する可能性のあるエラーを表示します。

簡単に言うと、ViewModel は特定のビュー (表示) に特化したモデル ラッパーです。ほとんどの IValueConvertors を同時に排除します。

Josh Smith はここで素晴らしい説明をしています: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messagesここで大きな議論: http:/ /groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1

于 2009-01-06T13:41:23.357 に答える
2

リストに追加するもう1つがあります:TonySneedによるSimpleMVVM Toolkit(本当にあなたのもの):http ://simplemvvmtoolkit.codeplex.com 。

ツールキットは、ヘルパークラス、Visual Studioアイテムテンプレート、およびコードスニペットで構成されています。実際のツールキットに加えて、MVVMパターンを使用して基本的なSilverlightアプリを構築する方法を段階的に説明したサンプルアプリがあります。

于 2011-01-01T14:26:56.550 に答える
2

Prism 4.0 には、MVVM アプリケーションを作成するためのドキュメントが含まれるようになりました。これは Prism ライブラリを使用することを目的としていますが、概念は一般的に MVVM パターンで機能します。

http://compositewpf.codeplex.com/releases

于 2010-07-07T15:40:38.460 に答える
1

ViewModelの最も良い説明は、ヨーロッパでのMVCトーク中にScottHanselmanによって与えられました。

ワンライナー応答は次のとおりです。これは、特定のビューに必要なすべての必要なデータを送信し、双方向バインディングの場合にビューから変更されたデータを受信することを唯一の目的として作成されたモデル(クラス)です。

于 2011-04-17T18:36:36.327 に答える
1

私は最近多くのことを経験しましたが、目立つ2つは次のとおりです。

ダン・ウォーリン(LIDNUG):

http://www.lidnug.org/Archives.aspx

ジョン・パパ(PDC 2010):

http://player.microsoftpdc.com/Session/76864d75-b4da-4858-aac7-786c5f28e344

于 2010-09-22T07:39:30.953 に答える
1

もあります:

Silverlight MVVM: (過度に) 簡略化された説明

于 2010-04-30T20:35:54.217 に答える
0

Silverlight での実際の MVVM に関する私の記事をご覧ください。初心者向けではありませんが、実際のプロジェクトに取り組んでいる主に専門家の開発者を対象としています。

http://alexburtsev.wordpress.com/2011/03/05/mvvm-pattern-in-silverlight-and-wpf/

于 2011-03-05T18:51:58.127 に答える