c# - 将模型放在模型以外的文件夹中有什么问题?

标签 c# asp.net-mvc conventions convention-over-configur

我是 ASP.NET MVC 的新手。我浏览了几本书和代码示例。在我学习的过程中,我提出了以下问题,但无法清楚地理解以下要点。

大多数书籍都解释说,将模型放在 Models 文件夹中是一种约定优于配置的做法。他们还声明 ASP.NET MVC Framework 假定开发人员将模型放在该文件夹中。但是,大多数代码示例和许多其他开发人员将模型放在 Models 以外的文件夹中,例如 ViewModels 放在单独的类库项目中(即 Services 项目)。

这两种方式有什么区别吗?如果我们将模型放在 Models 文件夹中,ASP.NET MVC 会对模型做些什么吗?他们有什么好处和坏处?你的项目做得如何?

最佳答案

Most books explain that placing Models in Models folder is a Convention over Configuration. They also state that ASP.NET MVC Framework assumes developers to put Models in that folder.

这是错误的。 asp.net-mvc 唯一一次使用文件夹结构并需要其配置(明确地或按照约定)是在查找 View 时。 Controller 有约定以后缀“Controller”结尾,而模型没有。您可以随意将模型放在任何您喜欢的地方。

关于c# - 将模型放在模型以外的文件夹中有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17142676/

相关文章:

c# - 滚动时保持菜单项固定,而不是之前

asp.net - 对于复杂的导航菜单,我应该使用数据缓存还是输出缓存?

api - 决定 REST API 路径约定

c# - 获取应用于通用方法的 PostSharp OnMethodBoundaryAspect 的通用参数

c# - 如何决定是使用 LINQ to SQL 还是 ADO.NET

c# - 如何在同一集合位置替换列表中的值

asp.net-mvc - ASP.NET MVC : Textboxes don't get highlighted when I access Modelstate. 手动添加模型错误

javascript - C# 和 Javascript 中的正则表达式

javascript - 推荐的 JavaScript 约定

oop - 在 OOP 语言中命名对象时, "map"和 "transform"有什么区别?