README.md
1.18 KB
天庭APP端 API项目
传统的MVC架构
- Controller层仅只用于接收前端参数和返回响应的结果,不应用做业务逻辑处理
- 业务逻辑在Service层中实现,至于为什么需要使用接口,虽然绝大多数情况下的业务仅仅只有一个实现,但是为了有利于后期业务扩展~
- 可通用的复杂业务逻辑在Logic中实现,通常一个方法不允许超过60~80行代码一个方法成百上千行你愿意去看吗,更何况还没有注释
- DTO:参数传输对象 VO:返回视图对象 Query:查询对象
- Service Client 层用于调用Service RPC服务, 方法名称、参数和返回与Protobuf定义的接口需保持一致 一个Proto文件对应一个Service Client文件
- 需要事务的方法需在Service项目中实现,API项目只调用Service,无法实现事务
- should参数(即protobuf定义should条件参数判断,rpc client中实现判断调用方参数不为null时should = true,否则即false)为了防止调用方传了参数,却忘记传Should参数导致调用失败
- 后续升级Protobuf版本时,无需定义should参数,service端自可通过hasXXX方法判断是否传参