通常当我为
一个项目布局n层架构时,
我有以下几层:
>域(域模型,仓库合同)
>数据(在域模型之上工作的存储库)
>服务(汇总回收,缓存,验证)
>演示(mvc应用程序)
考虑到它将被实际应用程序和外部客户端使用,ASP.NET MVC 4 Web API在哪里适合?它是服务层的一部分还是使用服务层,与MVC应用程序位于同一级别?
可能有两种
方法:
>您决定通过HTTP调用从MVC应用程序中使用Web API.在这种情况下,调用代码(HttpClient)位于您的数据层.无论您是从数据库或远程Web服务调用获取数据,都不应该重要.在这种情况下,由于Web API可能已经封装了大量业务逻辑,因此您的服务层将非常薄,只是数据访问层周围的包装器,甚至不存在,如果不带任何额外的值.>由于Web API是用.NET编写的,您可以决定在MVC应用程序中直接引用包含此API的服务层的程序集.在这种情况下,您的Web API应用程序的服务层将成为您的MVC应用程序的服务层.