将所有控制器业务逻辑放到服务层 #49

Closed
opened 2025-10-30 19:17:01 +08:00 by huang · 1 comment
Owner
  • 服务层应该直接吐出dto, 而非数据库模型
  • 服务层应该不应该接收一个数据库对象, 而应该接收dto或者一堆参数字段或者它自己定义的数据结构
  • 业务逻辑应该放在服务层, 而非控制器层, 控制器层应该只做数据校验和绑定解析, 然后调用服务层方法并将结果拼接返回出去
  • 控制器层包含了大量的业务规则判断、领域对象的创建与验证、以及对仓库层和领域服务的直接协调,这违反了控制器层应只做数据校验、绑定解析和调用服务层方法的原则,导致业务逻辑分散、难以维护和测试。
- [x] 服务层应该直接吐出dto, 而非数据库模型 - [x] 服务层应该不应该接收一个数据库对象, 而应该接收dto或者一堆参数字段或者它自己定义的数据结构 - [x] 业务逻辑应该放在服务层, 而非控制器层, 控制器层应该只做数据校验和绑定解析, 然后调用服务层方法并将结果拼接返回出去 - [x] 控制器层包含了大量的业务规则判断、领域对象的创建与验证、以及对仓库层和领域服务的直接协调,这违反了控制器层应只做数据校验、绑定解析和调用服务层方法的原则,导致业务逻辑分散、难以维护和测试。
huang added the
enhancement
label 2025-10-30 19:17:01 +08:00
Author
Owner
[任务修改说明文档](http://git.huangwc.com/pig/pig-farm-controller/src/branch/main/openspec/changes/archive/2025-10-31-refactor-business-logic-layering)
huang closed this issue 2025-10-31 17:06:06 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: pig/pig-farm-controller#49
No description provided.