关于vo,dto,po的概念

多样化的模型类
现在项目中有两类模型类:DTO数据传输对象、PO持久化对象,DTO用于接口层向业务层之间传输数
据,PO用于业务层与持久层之间传输数据,有些公司还会设置VO对象,VO对象用在前端与接口层之间
传输数据,如下图:
在这里插入图片描述
当前端有多个平台且接口存在差异时就需要设置VO对象用于前端和接口层传输数据。
比如:
课程列表查询接口,根据用户需求用户在手机端也要查询课程信息,此时课程查询接口是否需要编写手
机端和PC端两个接口呢?
如果用户要求通过手机和PC的查询条件或查询结果不一样,此时就需要定义两个Controller课程查询接
口,每个接口定义VO对象与前端传输数据。
手机查询:根据课程状态查询,查询结果只有课程名称和课程状态。
PC查询:可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容
多。
此时,Service业务层尽量提供一个业务接口,即使两个前端接口需要的数据不一样,Service可以提供
一个最全查询结果,由Controller进行数据整合
在这里插入图片描述

总结:

vo是controller层接收前端参数用的,
dto是service需要的参数
po是数据库层面的,和表一一对应的
接口层也就是controller层的存在,是为了实现不同平台,很多个前端的时候,对于每个前端都有特定的controller接收请求。因此也可能存在多个vo。
service是通用的业务方法,dto可能由多个vo组成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值