c#MVC – 文件夹结构 – 放置类的位置?

在asp / net MVC中,该项目分为模型,视图和控制器。 好到目前为止。

假设我有一个类’人’,人控制器使用人模型填充数据。

把我的person.cs课最好放在哪里? 在控制器或模型文件夹中? 你是做什么?

谢谢

坦率

我将在解决方案中创建另一个类库项目,定义我的类,然后在我的ASP.Net MVC应用程序中引用我的库。

WebApp Solution |-MyMVCProject |-Models |-Controllers |-Views |-MyMVCProject.Domain (you'd put your models here) |-Person.cs |-MyMVCProject.Services (you'd put entity services here) 

我会将Person视为模型并将其放在Models文件夹中。 这是我保留视图模型的地方。 业务模型通常保存在一个单独的数据项目中 – 我喜欢我的数据层是自包含的,所以如果我愿意,我可以在其他项目中使用它。 您可能需要考虑为其他类型的类创建单独的类库 – 扩展方法,帮助程序等,这些类不适合控制器或模型的类别。

目前在相当大的项目中工作,我将我的类划分为不同的类库项目,这些项目名为Repository(用于数据访问接口和业务数据类),Utils(用于实用程序类)和DataAccess(存储库接口实现)。 根据那些我将它们划分为子目录(或者我应该说命名空间)然后使用Resharper来强制执行这些命名空间。