模型是否应该引用其他模型?

时间:2012-02-24 21:09:38

标签: wpf

我正在尝试使用MVVM模式构建WPF应用程序。这将是我的第一个。

在我的数据库中,我有2个表,一个报告表和一个列表。基本上我只想通过存储名称和一些次要信息(标题行...)来存储报告的框架,并将所有列保存在另一个表中。

我想知道在创建模型时最好的方法是什么:

  • 我应该为每张桌子做2个模型(报告和列)吗?并制作一个可观察的Columns集合
  • 只有1个模型,并创建一个包含常规列列表的POCO列

如果我使用2个模型方法,我应该实现2个模型视图,还是可以将所有内容分组到一个模型视图中,因为我将只在视图中使用一个报告(如编辑报告视图)?

希望我能够清楚地解释我的情况。

2 个答案:

答案 0 :(得分:0)

单独执行每个操作(即每个表一个View / ViewModel / Model)。您可以稍后(和/或在建造时)重构常用项目。

答案 1 :(得分:0)

与Asp.Net MVC不同,MVVM中的ViewModels通常与View具有一对一的关系。为了确定您需要多少Views / ViewModel,您可以开始考虑界面。 ViewModels是建模用户界面,所以如果你的应用程序中有一个屏幕,那么你应该从一个viewModel类开始,稍后如果它太大你可以改进它。模型有点不同,这取决于你如何与它们互动。我不确定你打算用它们做什么,我有一个在数据库中存储报告定义的经验,你可能根本不需要两个表,你甚至不需要关系数据库,只需保存带有序列化XML的blob。但是无论如何将它反序列化回你的对象之后你将至少有两个模型类 - Column和Report,模型是最低级别的抽象,如果你没有这两个模型类,你将无法区分它们实体。