ViewModels应该放在哪里?

时间:2010-07-20 20:40:31

标签: asp.net-mvc-2 viewmodel

  • /控制器/的ViewModels?
  • /查看/的ViewModels?
  • 其他?

5 个答案:

答案 0 :(得分:1)

我喜欢单独的集会。这是我通常添加Automapper代码以从域对象映射它们的地方。像ProjectName.ViewModel(当然还有ProjectName.ViewModel.Tests)之类的东西。

它不会花费太多,如果你想添加另一个UI(例如Silverlight / WPF),你将能够重用viewmodel。在控制器(显示视图之间的流程)和视图模型(显示特定视图)之间保持良好的关注点分离。

答案 1 :(得分:0)

我喜欢将它们放在站点/ ViewModels的根目录下,或者放在Model文件夹的旁边(在其中)。

答案 2 :(得分:0)

我把它们放在我的观点中。

答案 3 :(得分:0)

这取决于您希望如何构建项目以及模型的使用范围。

您可以创建一个单独的文件夹并放置所有View Model类,或者甚至只在它与之关联的控制器类中定义它们。

但是,如果您正在查看分层开发/结构以供以后的Web服务实现,我建议您将它们放在单独的类库中。它会更加干净,可以在各个项目中重复使用。

答案 4 :(得分:0)

/型号

由于MVC中的“M”表示用于视图的模型,并且您正在使用视图模型,因此“模型”文件夹内部似乎是它们的主要位置。

每当我开始使用非平凡的MVC应用程序时,域模型最终都会与MVC项目分开。这使得它成为一个更具诱惑力的位置,因为默认创建的“Models”文件夹在没有视图模型的情况下没有用处(但由于某种原因删除它感觉不对)。