2011-02-10 55 views
5

当我正在学习MVC 3时,很明显命名对于让Dbase-Model-Controller-Views一起讨论至关重要。ASP .NET MVC 3是否存在任何命名约定?

是否存在应该在MVC应用程序中使用的现有命名约定列表?

喜欢的东西:

  • 表名(复数)
  • 型号名称(单数表名)
  • 查看文件夹必须是相同的名称作为控制器类(即合同 - >从ContractController衍生)

回答

5

唯一的主要约定是控制器类名必须以“Controller”结尾。任何其他约定仅代表最佳实践,并不是您的应用程序工作所必需的。

你提到的表和型号命名约定在那里,因为他们使代码“读”好(Select * From products where category = 1; Products.Insert(new Product())

MVC自动查找该操作方法的名称相匹配的看法,他开始寻找在与控制器具有相同名称的文件夹中。然而,通过在视图结果中指定视图名称,您可以轻松胜出(return View("MyCustomName")

2

并不存在许多会破坏您的应用程序的名称约定,除非您的控制器以“Controller”和名称推断结束来自操作名称的“View()”调用。

MVC基于约定优于配置的思想,所以当我慢慢发现时,有许多约定对我有用,但我还没有遇到一个列表。他们是微妙的,非常方便...通常。