详解前后端交互时PO,DTO,VO模型类的应用场景
前后端交互时的数据传输模型
前后端交互流程
前后端交互的流程
: 前端与后端开发人员之间主要依据接口进行开发
- 前端通过Http协议请求后端服务提供的接口
- 后端服务的控制层Controller接收前端的请求
- Contorller层调用Service层进行业务处理
- Service层调用Dao持久层对数据持久化
PO,DTO,VO模型类
DTO(Data Transfer Object)数据传输对象
: 用于接口层向业务层
之间相互传输数据
PO(Persistent Object)持久化对象
: 用于业务层与持久层
之间相互传输数据,一个PO类对应数据库中的一张表,每张表对应一个Mapper接口和Mapper的xml映射文件
VO对象
: 前端与接口层
之间相互传输数据,当用户使用手机端和PC端查询课程信息时查询条件和查询结果
可能不同
手机查询
: 根据课程状态查询,查询结果只有课程名称和课程状态PC查询
: 可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多- 如果前端接口没有多样性且比较固定,此时可以取消VO只用DTO即可
Service业务层尽量提供一个业务接口,即使两个前端接口接收的数据和响应的数据
不一样
- 查询条件不同: 此时可以设置多个VO对象
- 查询结果不同: Service只负责提供一个最全的查询结果,由Controller层进行数据整合