【发布时间】:2013-03-27 23:08:43
【问题描述】:
我有一个 MVC 应用程序,我主要将模型传递给控制器。我有一些使用视图模型的情况,但大多数 CRUD 操作都是直接完成的。我在用于验证模型的模型类中的每个属性上都有数据注释。 但是最近我听说更好的做法是使用 ViewModels——每个视图一个。在我看来,这似乎是不必要的,就维护而言只是程序员的噩梦。我想知道是否有人同意或不同意我的观点?
【问题讨论】:
-
我很少使用视图模型,主要是为了帮助构建视图。例如,如果您的视图需要一个模型加上一些名称值对作为选择列表,那么我将创建一个包含模型和此列表的视图模型,它减少了对 tempdata 和 viewdata 传递内容的需要大约。否则,我会尽可能使用域模型
-
我尽量不直接使用我的领域模型,它通常具有比任何视图都需要的更多属性,当然也不需要方法。此外,随着需求的变化,它有助于隔离需要进行更改的地方
-
已经讨论了很多:stackoverflow.com/questions/5248746/…stackoverflow.com/questions/664205/viewmodel-best-practices 请注意使用 AutoMapper 的建议,以避免您所说的维护噩梦。