MVVM - 我应该在Model或ViewModel中维护数据?

时间:2017-10-02 13:21:37

标签: c# .net wpf mvvm uwp

我正在使用WPF进行C#应用程序。我正在尝试正确地遵循MVVM模式,因为(尤其是使用C#/ WPF)非常有用。

我的应用程序设计为3个“大”部分,正如MVVM模型所说:

  • 视图,在XAML中 - > MainWindow.xaml
  • ViewModel,在C#中 - > MainWindow.xaml.cs
  • 模型,在C#中 - >我的静态类名为Register.cs

这是一个强大的模式,它运作良好。

我的软件管理自定义对象列表:我按下View上的按钮,ViewModel启动一个方法(在Model上),从数据库中检索列表数据,然后在View端绑定它们(在ListView上,在WPF中)。

一切都很好。但是,即使在阅读了很多关于MVVC模式的内容之后,我也无法理解:我应该记住这些列表?

现在,我在模型上声明这些列表,只需通过ViewModel调用它们即可检索它们,但我不知道它是否是正确的方法。

我需要维护这些列表和许多其他字符串(比如当前用户名和类似的东西),直到我关闭软件(或者我需要保存它们)。

所有数据都来自INI或DB,我不知道我应该在哪里“临时”记住它们,如果在ViewModel上(为什么?因为它与它们交互的视图)或者在模型中? (将数据保存在“附近”的地方并不聪明吗?)

此外,在将来,我想在UWP或Mono中端口软件,所以我应该简化自己的跳转。此外,在这种情况下,我想我必须完成我在ViewModel上完成的所有工作。

我应该记住软件使用的所有“临时”数据?在M或VM?

1 个答案:

答案 0 :(得分:1)

我考虑放置内容的方式是这样的:回答问题,如果它是业务(数据)问题或UI(表示)问题。首先是模型,第二个是视图模型。