【发布时间】:2018-09-26 12:43:35
【问题描述】:
我们在与 DAL 通信以进行数据访问操作的服务中使用带有 Webapi 的 html 5/angular SPA
层流是:
presentation(html5/angular controllers/service) --> web api --> DAL - -> DB。
我们没有这样的 BLL 项目。我们正在考虑将 DAL 作为 BLL + DAL 的组合。我们使用通过 t4 模板创建的 DTO 对象,它们用于客户端和 Web api 和 DAL 之间的数据传输(我们不使用 EF,我们使用 ADO.Net 作为底层提供者)
- 我们应该需要一个单独的 BLL 项目还是可以将 BLL 和 DAL 项目结合起来?考虑到它应该是可测试和可扩展的。
- 如前所述,始终使用 DTO 对象。我们是否需要除 DTO 之外的任何模型来在客户端和 webapi/DAL 之间传输数据?
达尔:
public List GetCustomers {} 这使用数据访问帮助程序类来获取客户并转换为 DTO
上面的 CustomerDAL.GetCustomers 正在被 webapi 项目调用。此时,(比如客户)的任何 BL 都是在 web Api 项目中编写的,有时是在 DAL 项目中编写的。为了一致性和可测试性,我们正在考虑将它们转移到一个项目中。
对此的任何见解都会有所帮助。
【问题讨论】:
标签: asp.net-web-api architecture single-page-application data-access-layer business-logic-layer