Web API 业务层架构及其职责
Posted
技术标签:
【中文标题】Web API 业务层架构及其职责【英文标题】:Web API Business Layer Architecture and its responsibilities 【发布时间】:2019-04-17 23:17:16 【问题描述】:我的 web api 业务层中有以下类,我想知道 GatewayService 类是否应该在业务层中,还是应该将其放在名为 BusinessService 的单独项目中?因为它没有在控制器类中直接调用,也不依赖于数据存储库?
业务层
GatewayService(引用这是事务控制器所做的;
事务控制器
从
获取用户列表 将用户列表传递给
,然后它将返回用户交易列表 将所有事务的列表传递给
以通过数据存储库类处理它们
【问题讨论】:
【参考方案1】:如果是N-Layer架构
TransactionService
应该在Application
层中,然后您的GatewayService
可以是Business Layer
的一部分。
如果是清洁架构
GatewayService
应该是Presistence
或Infrastracture
层的一部分,因此它不是business
层(此处为domain
和application
)。
【讨论】:
我从未在 WEB API 项目中看到过应用层。 不管是WEB API、MVC还是ConsoleApp。它是关于你的模块的结构,并在速度和效率之间找到一个中间立场。如果是 n 层检查 ABP 项目,如果是 github 上的 Clean Architecture JasonGT/NorthwindTraders 项目 用户服务呢?这会留在业务层吗? 在 n 层中是的。 我可以将我的应用层称为 ApplicationService 吗?【参考方案2】:它将成为业务层的一部分。业务层是您为系统 fx 实现外部需求的地方。物流等等。与您的网关服务属于同一类别。
【讨论】:
以上是关于Web API 业务层架构及其职责的主要内容,如果未能解决你的问题,请参考以下文章