7

在 MVC 文件夹结构中,通用类文件应该放在哪里?例如,我有一个类可以确定要使用的正确 DataContext,因此我不会在每个控制器中重新发明轮子。即使它不是控制器,它是否应该存在于 Controllers 文件夹中?它是否应该与模型一起使用,因为它与数据库相关,即使它不是模型?可能是 Views\Shared 文件夹?或者 Content 是那种东西的包罗万象的文件夹?我确信我可以把它放在任何地方,但我想知道“正确”的地方在哪里。

4

6 回答 6

9

它不是控制器、内容或视图,所以不要使用它们。它听起来与您的模型最密切相关,因此您可以将它放在模型中名为“Helpers”或“Utility”之类的子文件夹下。或者,您可以添加另一个名为 Services 的顶级文件夹并将其放在那里。这就是我放置所有应用程序逻辑的地方,即控制器和模型之间的中间人。

于 2009-02-03T15:58:04.483 回答
3

如果您查看 Rob 的 MVC Storefront:单独的类库项目(如 Commerce.MVC.Data)

于 2009-02-03T15:54:31.837 回答
0

如果它本身有用(想想围绕它构建的命令行工具),请将其放在 Models 文件夹中。如果它仅用作控制器的助手,请将其放在 Controllers 文件夹中。

于 2009-02-03T15:50:44.793 回答
0

这真的取决于它做什么,如果它访问数据它应该在数据访问层,否则你可以把它放在控制器文件夹中。

于 2009-02-03T15:55:21.027 回答
0

德马基奇,

为什么要把它分成自己的区域?如果它的 BLL 代码应该在控制器文件夹中,如果它的 DAL 相关项它应该在模型中。我可以理解如果一个项目变得庞大并且您想创建一些子文件夹,那应该不是问题。但是将代码放在另一层确实违背了 MVC 的目的,你不觉得吗?

于 2009-02-03T15:57:04.780 回答
0

有一个单独的 DataAccess 程序集,将该类设为内部并将其命名为 DataContextFactory。

于 2009-02-04T13:04:46.923 回答