ASP.NET MVC应用程序设计

Sam*_*Sam 2 asp.net asp.net-mvc repository-pattern

好吧,所以我一直在接受各种关于MVC,EF4,存储库模式,UoW,服务层等的重要信息,现在我将尝试将它们整合在一起.

我的问题是,这些如何分开?

我在想这样的项目:

1)应用程序 - MVC应用程序
2)存储库层3)实体 - EF4 /部分实体类

任何建议都会很棒!!

谢谢,山姆

Dar*_*rov 5

以下是如何构建应用程序的一个示例:

  1. 域模型(主要POCO对象)
  2. 存储库(根据项目要求实现一些数据访问技术:EF,NHibernate,LINQ to XML,远程Web服务调用,......)
  3. 服务(业务操作将多个CRUD操作聚合到将使用域对象公开的业务操作中)
  4. ASP.NET MVC应用程序(控制器,视图,视图模型,域对象和视图模型之间的映射器)

该层可以表示物理分离(组件)或逻辑分离到同一组件中.

  • @Sam Striano,这是我写的一个示例MVC项目结构(没有服务层=>控制器调用存储库):https://github.com/darind/samplemvc.让我试着详细说明:服务层不能与EF生成的对象一起使用.它正在使用您在1中定义的域模型.EF对象受到EF特定内容的污染(除非您使用Code First,在这种情况下,您的EF Code First模型将成为第1点).该模型不应与您使用的任何数据访问技术相关.对我来说,自动生成的EF类永远不应该离开它们各自层的边界. (3认同)