gpt4 book ai didi

c# - WEB API & BL关系

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:12 24 4
gpt4 key购买 nike

我的项目结构是 Client <=> Web API <=> BL <=> DAL (Repository) <=> DB.

一个 API 会知道很多 BLs 有意义吗?这意味着在一个 API 方法中它将调用 X_BL,而在另一个方法中,在同一个 API 类中它将调用 Y_BL?如果有道理,请举个例子好吗?

或者它应该始终是 1:1 关系,以便每个 API Controller 将调用其 BL,例如:CustomersAPI 将始终调用 CustomersBL,而 ProductsAPI 将始终调用 ProductsBL。

最佳答案

在我看来,答案取决于,有很多问题需要先回答

  1. 您制作 API 的目的是什么?
  2. 您是否必须遵循 API 用户拥有的架构设计模式(例如 MobileApp、WebApp)?
  3. 或者只是想制作一个只提供数据的 API,就像你说的那样,1:1 关系,所以其他应用程序必须遵循你制作的架构设计模式?
  4. 您的重点是处理数据,客户端还是服务器端?
  5. API 及其用户的工作范围有哪些限制?

根据我的经验,如果您想创建一个可扩展的 REST API,您的 Controller 必须能够访问任何 BLL(业务逻辑层)在需要时。 BLL = BL(在你的情况下)

例如:

http://localhost/customers/15

customers Controller 只需要1个BLL(CustomerBLL)就可以找到ID为15的客户并返回结果。就像你说的,1:1 关系。

在另一种情况下,您将需要多个 BLL。

例如:

http://localhost/customers/15/products

客户 Controller 需要另一个 BLL (ProductsBLL) 来查找与 ID 为 15 的客户相关的任何产品,然后返回结果。

关于c# - WEB API & BL关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53781823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com