Asp.net mvc 什么时候在“约定优先”配置中添加新文件夹?

Asp.net mvc 什么时候在“约定优先”配置中添加新文件夹?,asp.net-mvc,asp.net-mvc-3,model-view-controller,convention-over-configur,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,Convention Over Configur,我有两个问题,真的 我看到人们将服务文件夹添加到他们的项目中。那个文件夹的用途是什么 我看到了服务和视图模型的文件夹。现在我偶然看到一篇关于存储库的文章。那么,每次我有新用途的类时,我都应该为它们创建一个文件夹,这是一条规则吗?例如,如果我有一个Repository类,那么我应该创建一个Repository文件夹并将它们放在那里,而不是Models文件夹?model文件夹仅用于查看模型。没有别的东西属于它 我建议您将所有非UI逻辑移到一个单独的类库中,从MVC项目中引用该类库。谷歌关注点分离 至

我有两个问题,真的

我看到人们将服务文件夹添加到他们的项目中。那个文件夹的用途是什么


我看到了服务和视图模型的文件夹。现在我偶然看到一篇关于存储库的文章。那么,每次我有新用途的类时,我都应该为它们创建一个文件夹,这是一条规则吗?例如,如果我有一个Repository类,那么我应该创建一个Repository文件夹并将它们放在那里,而不是Models文件夹?

model文件夹仅用于查看模型。没有别的东西属于它

我建议您将所有非UI逻辑移到一个单独的类库中,从MVC项目中引用该类库。谷歌
关注点分离

至于文件夹命名,它因体系结构而异。那些使用领域驱动设计的人倾向于命名文件夹

  • 基础设施
  • 模型(域模型和非视图模型)
  • 存储库
  • 服务

而其他人则为他们放置所有相关类的每种类型的模型创建根文件夹。

模型文件夹仅用于视图模型。没有别的东西属于它

我建议您将所有非UI逻辑移到一个单独的类库中,从MVC项目中引用该类库。谷歌
关注点分离

至于文件夹命名,它因体系结构而异。那些使用领域驱动设计的人倾向于命名文件夹

  • 基础设施
  • 模型(域模型和非视图模型)
  • 存储库
  • 服务
而其他人则为他们放置所有相关类的每种类型的模型创建根文件夹。

文件夹(通常)与约定与配置无关。它们只是组织内容的一种方式。请记住,这通常也会为该文件夹中的所有类创建一个名称空间(文件夹名称)

在你的具体情况下,你需要做最有意义的事情。如果您对存储库使用自定义POCO,那么我同意创建一个存储库文件夹。然而,Models文件夹实际上是MVC中的一种约定,UI使用的模型应该存储在MVC中

只需确保将对象存储在最符合逻辑的位置,您就应该做好:)

文件夹(通常)与约定与配置无关。它们只是组织内容的一种方式。请记住,这通常也会为该文件夹中的所有类创建一个名称空间(文件夹名称)

在你的具体情况下,你需要做最有意义的事情。如果您对存储库使用自定义POCO,那么我同意创建一个存储库文件夹。然而,Models文件夹实际上是MVC中的一种约定,UI使用的模型应该存储在MVC中


只需确保将对象存储在最符合逻辑的位置,就可以了:)

在ASP.NET MVC中,您说过:“模型文件夹只用于查看模型,其他任何东西都不属于它。”?我所阅读和看到的一切都表明,它可以是域模型(对象或直接来自数据库)或视图模型。事实上,很多MVC文章/教程都告诉您要创建一个单独的ViewModels文件夹,这是因为没有现有的指导原则。任何人都可以快速创建示例、博客条目或基本的MVC项目,这些都可以很好地工作。当应用程序增长时,问题就出现了,您必须开始维护它。MVC3项目是一个UI层,应该只包含UI逻辑。至少如果你想要一个使用分离关注点的结构良好的解决方案。你说过:“模型文件夹只用于查看模型。其他任何东西都不属于它。”在ASP.NET MVC中?我所阅读和看到的一切都表明,它可以是域模型(对象或直接来自数据库)或视图模型。事实上,很多MVC文章/教程都告诉您要创建一个单独的ViewModels文件夹,这是因为没有现有的指导原则。任何人都可以快速创建示例、博客条目或基本的MVC项目,这些都可以很好地工作。当应用程序增长时,问题就出现了,您必须开始维护它。MVC3项目是一个UI层,应该只包含UI逻辑。至少如果您想要一个使用关注点分离的结构良好的解决方案。