ASP.NET MVC视图模型命名约定

时间:2011-09-01 02:22:55

标签: asp.net-mvc model

我知道我可能对此有不同意见,但我想知道模型命名约定是否有“最佳实践”。

我有一个相当大的应用程序,我采用了以下模型命名约定:

  • 模型
    • 添加
      • CategoryAddModel
      • ProductAddModel
    • 编辑
      • CategoryEditModel
      • ProductEditModel
    • 查看
      • CategoryViewModel
      • ProductViewModel

我也想到了以下内容:

  • 模型
    • 添加
      • AddCategoryModel
      • AddProductModel
    • 编辑
      • EditCategoryModel
      • EditProductModel
    • 查看
      • ViewCategoryModel
      • ViewProductModel

您更喜欢哪种?为什么?

你认为这真的很重要吗?

4 个答案:

答案 0 :(得分:14)

我更喜欢{ViewName}{Controller}ViewModel。我还删除了Models文件夹,而是将视图模型放在ViewModels文件夹中。这对我来说更有意义。

例如。 AddCategoryViewModel

答案 1 :(得分:6)

没关系。您应该以一致,合理和直接的方式命名。基本上,只需挑选一些有意义的东西,让你最有成效。考虑一下您的命名约定如何与IntelliSense一起使用。

您可能还想考虑从现在起一年内维护代码的难易程度。

答案 2 :(得分:4)

为了清晰起见,请将Hightmaston的评论纳入正式答案。

要遵循的逻辑模板是:

{Controller}{ViewName}ViewModel

这鼓励大规模更好的文件组织,并减少Intellisense“点击”的数量。

一个简单的例子可能如下:

CategoryIndexViewModel

答案 3 :(得分:1)

理论上,CategoryViewModel,CategoryAddModel和CategoryEditModel将包含相同的属性,因此您在UI中拥有的视图模型数量几乎没有增加三倍。只需要CategoryModel即可。它是您的控制器接收的HTTP请求的类型,它定义它是GET还是POST操作。用于填充GET视图或捕获POST表单数据的模型将采用相同的类型。