答案 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”文件夹在没有视图模型的情况下没有用处(但由于某种原因删除它感觉不对)。