我正在计划一个项目来开发一个使用MVC4,EF5和Web的应用程序。请任何人建议我们如何在不同的层次设计项目。Web使用MVC4,数据层使用EF5/Repository模式,Web用于JQuery访问。
发布于 2012-11-15 20:04:14
我建议使用下图中所示的层。
我添加了Unit of Work Design Pattern,它处理跨多个存储库的事务。我还使用了处理所有业务逻辑的应用程序层或域层。当您使用域层时,那么您的Web API就变成了一个薄层,负责将对象传输和序列化到远程客户端,如您的web客户端(即web浏览器)。web客户端使用JQery ajax与Web API通信。MVC Controller用于渲染视图(你的超文本标记语言、CSS和JavaScript)。在此架构中,MVC的模型部分是应用程序/域层。请注意,此架构也适用于Single Page Applications (SPAs)。
发布于 2012-12-12 11:27:04
凯文,非常有趣和有用的答案,非常清楚,谢谢。只有一个问题。在使用Web并尝试遵循您的体系结构流程时,请告诉我我是否理解得很好:客户端上的请求(通过AJAX) =>控制器=> ASP.NET Web =>应用层=> UoW =>存储库=> EF => DB。现在,响应为: DB => EF => Repo => UoW =>应用层=> ASP.NET Web API =>控制器(填充视图或将json返回给客户端) =>更改客户端(页面/视图/jquery等)。谢谢。
https://stackoverflow.com/questions/13402313
复制