在MVC文件夹结构中,通用的类文件应该放在哪里?例如,我有一个类确定要使用正确的DataContext,这样我就不需要在每个控制器中重新发明轮子。它应该放在控制器文件夹中吗,即使它不是控制器?它应该与模型一起,因为它与数据库相关,即使它不是模型?可能是Views\Shared文件夹?或者Content是那种东西的综合文件夹?我确信我可以把它放在任何地方,但我想知道“正确”的位置是哪里。
它不是一个控制器、内容或视图,因此不要使用这些。它听起来最接近于您的模型,所以您可以将其放在模型下的名为“Helpers”或“Utility”的子文件夹中,或者添加另一个顶级文件夹称为“Services”,并将其放在那里。那是我放置所有应用逻辑、控制器和模型之间的中间人的地方。
这真的取决于它的功能,如果它访问数据,应该放在数据访问层中,否则可以将其放在控制器文件夹中。
dmajkic,
为什么要将它分离到自己的区域?如果它是BLL代码,应该放在控制器文件夹中;如果它是DAL相关项,应该放在模型中。我可以理解,如果一个项目变得非常庞大,你想创建一些子文件夹,这不应该成为问题。但是把代码放在另一个层次中真的有违MVC的初衷,不是吗?
拥有一个独立的DataAccess程序集,将该类设为internal并称其为DataContextFactory。