monorepo-microservice-rbac/apps/aorta/core/application
2023-08-27 14:37:59 +08:00
..
readme.md first commit 2023-08-27 14:37:59 +08:00

应用层application这一层负责协调领域层和基础设施层实现具体的用例逻辑。

协调领域服务如果有一种业务用例需要多个领域对象或领域服务协作完成UserApplicationService就可以负责调度它们然后完成业务逻辑。比如在创建一个新用户的时候可能需要检查用户名是否已经存在然后再创建新的用户实体这就需要UserApplicationService协调不同的领域服务。

事务控制UserApplicationService也可能负责控制数据库事务。虽然在前端的场景中事务控制可能并不常见但在后端服务中这是非常常见的。比如创建一个新用户可能涉及到在几个数据库表中插入数据这就需要在一个数据库事务中完成。

安全和授权UserApplicationService可能需要检查当前用户是否有权限执行某项操作。比如在更新用户信息的时候可能需要检查当前用户是否有权限更新这个用户的信息。

适配领域层与接口层UserApplicationService也可能负责转换数据格式以便领域层和接口层之间的数据交换。例如将领域实体转换为DTO数据传输对象或者将来自接口层的请求数据转换为领域服务可以处理的格式。

在设计UserApplicationService时需要注意的是业务逻辑应该尽量放在领域层处理应用层更多地是做协调和编排的工作而不是包含业务逻辑。这样可以保证业务逻辑的集中和一致性也使得业务逻辑更易于测试和重用。