当我学习MVC 3时,很明显命名对于让Dbase-Model-Controller-Views一起讨论至关重要 .
是否存在应该在MVC应用程序中使用的已存在的命名约定列表?
就像是:
表名(复数)
型号名称(表名称的单数)
View文件夹必须与控制器类同名(即Contract - >派生自ContractController)
唯一的主要约定是控制器类名称必须以“Controller”结尾 . 任何其他约定只代表最佳实践,并不是您的应用程序工作所必需的 .
您提到的表和模型命名约定是因为它们使代码"read"更好( Select * From products where category = 1 ; Products.Insert(new Product()) )
Select * From products where category = 1
Products.Insert(new Product())
MVC自动查找与操作方法名称匹配的视图,并开始查找与控制器同名的文件夹 . 但是,您可以通过在视图结果中指定视图名称来轻松胜过它( return View("MyCustomName") )
return View("MyCustomName")
没有多少名称约定会破坏您的应用程序,除了少数几个让您的控制器以“Controller”结束并从操作名称命名“View()”调用的名称 .
MVC基于约定优于配置的意识形态,因此我慢慢地发现,有许多约定有用,但我还没有遇到过列表 . 它们很微妙,非常方便......通常 .
2 回答
唯一的主要约定是控制器类名称必须以“Controller”结尾 . 任何其他约定只代表最佳实践,并不是您的应用程序工作所必需的 .
您提到的表和模型命名约定是因为它们使代码"read"更好(
Select * From products where category = 1
;Products.Insert(new Product())
)MVC自动查找与操作方法名称匹配的视图,并开始查找与控制器同名的文件夹 . 但是,您可以通过在视图结果中指定视图名称来轻松胜过它(
return View("MyCustomName")
)没有多少名称约定会破坏您的应用程序,除了少数几个让您的控制器以“Controller”结束并从操作名称命名“View()”调用的名称 .
MVC基于约定优于配置的意识形态,因此我慢慢地发现,有许多约定有用,但我还没有遇到过列表 . 它们很微妙,非常方便......通常 .