.NET MVC3项目结构

时间:2011-06-19 08:12:51

标签: asp.net-mvc visual-studio-2010 asp.net-mvc-3 entity-framework

我环顾四周但找不到任何可以回答与文件/项目结构相关的特定问题的内容。

我有一个使用实体框架的MVC3站点。它遵循使用StructureMap处理依赖性解析的基本通用存储库模式。

我的问题是,如何制定项目?请记住,我可能希望将数据库公开给另一个应用程序。

目前我有:

  

mySite.Web - MVC项目也具有所有依赖性解析

     

mySite.Web.Data - EntityFramwork CodeFirst,存储库模式

     

mySite.Web.Tests - 测试......: - )

我应该将我的EntityFramwork模型移动到自己的项目吗?如果是这样,我的EntityContextFactory会出现在哪里?

由于

3 个答案:

答案 0 :(得分:2)

我遇到同样的问题 - 如何设置新的mvc项目? 我对其他用户的研究和帮助是:一个好的结构方法是MVC架构的域驱动设计

good blog post for DDD

我的新项目结构将如下所示:

  • Presentation.Web(Controller,Views,ModelViews ..)
  • Presentation.Web.Utils(Helper and Extensions ..)
  • Presentation.Web.Tests(Moq ..)
  • BusinessDomain.Services(DI业务服务)
  • BusinessDomain.Models(EF Models ..)
  • BusinessDomain.Tests(Moq ..)
  • CrossCutting.Common(Const,Resources,Exception Msg ...)
  • Infrastructure.Configuration(IoC Bootstrapper,ApplicationConfiguration,ContainerExtensions ..)
  • Infrastructure.DataSource(DbContext,Repositorys ..)
  • Infrastructure.Tests(Moq ..)

答案 1 :(得分:1)

没有这个结构是好的。您可以将模式存储库移动到mySite.Web或为它创建另一个类库项目,但这不是必需的。

答案 2 :(得分:1)

我会创建一个名为mySite.Domain的新项目,并可能在该项目中创建一个实体文件夹并将它们放在那里。

我只在域中存储实体,并在数据项目中保留所有存储库,dbcontext和实体contextfactory。

以下是您可以查看的一些示例项目(作者信用):

http://myfinance.codeplex.com/

https://github.com/darind/samplemvc

这在很大程度上是主观的。