角度和web api项目结构

时间:2015-02-10 18:27:24

标签: asp.net-web-api asp.net-web-api2

我将使用asp.net webapi开展角度POC。

我想要一些关于设置项目结构的建议。

我们有传统的DAL层来返回域类。

我创建了一个包含所有webapi控制器的[DataServices] webapi项目,每个方法都调用DAL来获取数据。

我应该再添加一个webapi服务层(dataservices.ui)吗?哪个会在内部使用httpclient api调用[DataServices] API并将域转换为ui.domain?

所以哪一个是可取的

UI -> DataServices.UI -> DataServices -> DAL -> DB

UI-> DataServices ->DAL -> DB

请指教。感谢..

2 个答案:

答案 0 :(得分:0)

你可能知道AngularJs遵循模型视图控制器的漂亮模式。因此,可以建议文件结构也遵循模式。也就是说,根据子系统设置目录,然后使用合理的名称约定生成除HTML模板之外的JS控制器,例如,添加' Ctrl'代表控制器。 此外,asp.net MVC提供区域注册,无疑强调SOC的概念(关注分离);在设计项目结构时,您可以充分利用此功能。另外一点,如果您还要将工作单元和存储库这两种模式应用于有效处理数据层,您可能希望将一个完全独立的项目用于它们。 无论如何,设计一个你所知道的项目需要付出更多的努力和时间,但除了我所提到的this link之外,你可能会给你一个全局。希望我能帮忙

答案 1 :(得分:0)

为什么您的DataServices是一个WebAPI项目?你打算在不同的服务器上部署它吗?如果是这样,那么第一个选项就可以了(同一服务器上的每个组件都在保存方括号中)。我建议使用Wrapper,以防你想要保持设置/配置和调用DataServicesWebApi的一些访问逻辑与WebAPIUI分开。

[AngularJS -> WebAPIUI -> Wrapper] **->** [DataServicesWebAPI->DAL] **->** [DB]

但是如果你打算让POC更简单并且在同一台服务器上(并且考虑再次为最终产品做设计),我认为不需要制作多个图层,除非你有这些图层的商业原因。< / p>

AngularJS -> WebAPIDataServices -> DAL-> [DB]