2017-10-02 10 views
0

私はWPFを使用してC#アプリケーションをやっています。私はMVVMパターンを正しく追い求めようとしています(特にC#/ WPFの場合)は非常に便利です。 MVVMモデルが言うようMVVM - ModelまたはViewModelでデータを管理する必要がありますか?

私のアプリは、3 "ビッグ" の部分に設計されています:

  • ビューを、XAMLで - > MainWindow.xaml
  • ViewModelに、C#で - >メインウィンドウ。 xaml.cs
  • モデルは、C#で - Register.cs

という名前> A私静的クラスそれは強力なパターンだし、それは良い取り組んでいます。

私のソフトウェアはカスタムオブジェクトのリストを管理します:私はビューのボタンを押して、ViewModelはをデータベースから取得したのリストを取得するメソッドを(モデル上で)開始し、ビュー側、WPFで)。

すべてがうまくいきます。しかし、MVVCのパターンについて多くのことを読んだ後でさえ、私は事を理解することができません:これらのリストを暗記する必要がありますか?

今のところ私はModel上でこれらのリストを宣言しており、単にViewModelから呼び出すことで検索できますが、それが正しいアプローチであるかどうかはわかりません。

ソフトウェアを閉じるまで(または私はそれらを保存する必要があります)、これらのリストと多くの他の文字列(現在のユーザー名などの文字列)を維持する必要があります。

すべてのデータはINIまたはDBから来たもので、ViewModel上で(なぜそれらと対話するために)、またはモデルで「一時的に」記憶しておくべきかわかりません。私は自分自身簡素化すべきUWPまたはモノラルでソフトウェアなので、(あなたがそれらを得たところ、「そば」のデータを保持することが賢くないのですか?)

また、将来的には、私はしたいと思いますポートジャンプ。また、その場合は、ViewModelで行ったすべての作品を放棄しなければならないと思います。

ここで、ソフトウェアで使用されるすべての「一時的な」データを覚えておく必要がありますか? MまたはVMで?

+0

ビジネスルールや[保存]/[キャンセル]ボタンがあるかどうかによって、VMからMに書き込むことがより重要になります。 –

答えて

1

私は何かを置く場所について考える方法は、ビジネス(データ)の関心事やUI(プレゼンテーション)の問題であれば、質問に答えてください。最初はモデルに入り、2番目はビューモデルに入ります。

+0

だから、現在のユーザー名がViewModelにあると言っていますか? – Joe

関連する問題