我正在编写一个包含大量视图/偏见的asp.net mvc2项目。阅读好的MVC实践,我一直鼓励创建ViewModels。它真的很好,这样做是有意义的,但我最近注意到我不能再容易记住什么样的模型是什么视图。我希望ViewModel有一个很好的命名约定,它可以处理大型项目。
我的问题是这种情况可以改善吗?
答案 0 :(得分:20)
我喜欢保持简单,例如,如果你有一个名为Folder的对象:
View =“FolderView.xaml”
ViewModel =“FolderViewModel.cs”
答案 1 :(得分:2)
简单说明:
ModelName = ViewName + "Model";
如果您有模型层次结构,有时需要将模型从视图传递到部分视图。在这种情况下,可以放弃上述规则。
答案 2 :(得分:2)
对于ASP.NET MVC,我将视图模型保存在ViewModels.{Controller}
命名空间中,类名只是{Action}
。我不使用ViewModel后缀,就像视图文件没有View后缀一样。
答案 3 :(得分:1)
如果要将视图模型保存在与视图相同的程序集中,除了一个简单的命名方案(如视图模型类的{View Name} ViewModel)之外,我还用一个技巧来帮助组织视图模型的视图执行以下操作:
这将导致视图模型类在视图的代码隐藏文件旁边可视化分组。
答案 4 :(得分:0)
我已经开始更进一步,并指定是否使用ViewModel通过EditorFor生成表单,方法是使用Form结束名称。有助于保持表格与简单的显示模型易于识别。