dto do po vo 区分

news/2024/11/8 16:38:18/

1、实体

实体与我们都数据库表是一一对应的,实体中的每个字段与表中的字段也是一一对应的。

2、do

接收应用层传给domain层的参数(也可以用实体接收)。
domain层接收的参数必须是在domain层存在的对象

3、po

domain层返回应用层结果,使用po(也可以用实体)。
domain层返回应用层结果必须使用在domain层存在的对象

4、dto

dto是数据传输对象,主要用于外部接口参数传递封装,接口与接口进行传递使用。通俗的理解:接收前端传来的参数使用dto,我们做具体的新增、编辑操作时,可以转换成实体或者do传到domain层。

5、vo

vo 是视图对象,主要用于给前端返回页面参数使用。
下图是在开发过程中我对于实体、dto、vo、po、do使用的理解。

理解

Dto
dto
do/实体
do/实体
前端
controller
service
domain
mapper
实体/po
实体/po
实体/ po/ vo
实体/ po/ vo
mapper
domain
service
controller
前端

这个时候,有种po和do很多余的感觉
1、首先来说po,既然domain层可以返回实体或者po,当实体字段太多时,我们用po就好了,为什么还要定义vo呢?比如查询结果设计两个模块的内容,我们可以调用两次domain,返回对应的po,然后两个po会组合成新的vo返回给前端。
2、do,前端使用dto给后端传递参数是不区分模块的,比如对于后端来说是两个模块,前端的查询条件在一个页面,后端使用dto接收,对应相应的模块在domain层做操作时,我们可以将dto转换成对应模块的do给domain层传递参数。


http://www.ppmy.cn/news/428024.html

相关文章

VO、DTO、DO、PO的区别和用处

VO、DTO、DO、PO的区别和用处 一、VO、DTO、DO、PO概念二、VO与DTO的区别和应用三、DTO与DO的区别和应用四、DO与PO的区别和应用五、更细分还有BO、AO、POJO、DAO 一、VO、DTO、DO、PO概念 VO(View Object):视图对象,用于展示层&…

odoo 关于many2many 和one2many

many2many (0,0,{values}) 根据values里面的信息新建一个记录。 (1,ID,{values})更新idID的记录(写入values里面的数据) (2,ID) 删除idID的数据(调用unlink方法,删除数据以及整个主从数据链接关系) (3,ID) 切断主从…

VO、DTO、DO、PO的概念、区别和用处

一、概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象&#xff…

PO,BO,VO,DTO,DO的区别

1、PO PO:Persistan Object(持久对象)业务:po对象的属性字段与数据库表结构字段一 一对应举例: 个⼈信息表中分别有:id,name,age,sex,birthday PO对象中的属性…

odoo 对 many2many one2many的操作

many2many (0,0,{values}) 根据values里面的信息新建一个记录。 (1,ID,{values})更新idID的记录(写入values里面的数据) (2,ID) 删除idID的数据(调用unlink方法,删除数据以及整个主从数据链接关系) (3,ID) 切断主从…

DTO-VO-DO-Query理解

POJO/PO/DO/Entity/DTO/VO/Query个人理解 POJO:Plain Ordinary Java Object,普通java对象。PO:Persistent Object,持久化对象。DO:Data Object,数据对象。Entity:实体对象。DTO:Dat…

浅析VO、DTO、DO、BO的概念、区别和用处

一、概念 VO (View Object),用于表示一个与前端进行交互的视图对象,它的作用是把某个指定页面(或组件)的所有数据封装起来。实际上,这里的 VO 只包含前端需要展示的数据,对于前端不需要的数据,比如数据创建和修改的时间…

浅析VO、DTO、DO、PO的概念、区别和用处

概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象&a…