应用程序架构mvc4 ef5

时间:2012-11-15 16:49:30

标签: entity-framework asp.net-mvc-4 asp.net-web-api

我正计划使用MVC4,EF5和Web Api开发一个应用程序。请有人建议我们如何设计不同层次的项目。 Web使用MVC4和数据层使用EF5 / Repository模式和Web Api进行JQuery访问。

2 个答案:

答案 0 :(得分:5)

我建议使用下图中显示的图层。

Architecture Layers in an MVC App

我添加了Unit of Work Design Pattern来处理跨多个存储库的事务。我还使用处理所有业务逻辑的应用程序或域层。当您使用域层时,您的Web API就变成了一个薄层,用于处理对象到Web客户端(即Web浏览器)等远程客户端的传输和序列化。 Web客户端使用JQery ajax与Web API进行通信。 MVC控制器用于呈现视图(您的HTML,CSS和JavaScript)。此体系结构中MVC的Model部分是您的应用程序/域层。请注意,此架构也适用于Single Page Applications (SPAs)

答案 1 :(得分:0)

凯文,非常有趣和有用的答案,非常明确,谢谢。只有一个问题。当使用Web API并尝试遵循您的架构流程时,请告诉我是否理解得很好:客户端请求(通过AJAX)=>控制器=> ASP.NET Web API =>应用层=> UoW =>存储库=> EF => D B。现在,响应:DB => EF => Repo => UoW =>应用层=> ASP.NET Web API =>控制器(填充视图或将json返回给客户端)=>更改客户端(页面/视图/ jquery等)。感谢。