一、关于VO,BO,PO,DTO的简单理解
VO(Value Object)值对象
值对象:每一个字段与视图层所需要的字段对应 ,可以理解为vo里面的字段,和前端请求参数里面的字段相对应
DTO(Data Transfer Object)数据传输对象
数据传输对象: 用来转换从PO到VO,或者从VO到PO的中间对象
BO(Business Object)业务对象
业务对象:就是对PO对象的一种展示对象,比如PO是一条学生记录,这时候BO对象里面包含的字段就可以是学个人数
PO(Persistant Object)持久对象
持久对象:PO的字段和数据库数据库里面的字段意义对应
二、案例说明
现在有一个html页面,上面有个用户注册表单, 有stuName、stuAge、stuSex 3个字段
VO对象也有这三个字段对应视图上的3个字段:
private string stuName;
private string stuAge;
private string stuSex;
数据库中有个stu表,里面的字段有stuName、stuAge
所以PO对象对应的数据库表中也只有stuName、stuAge这两个字段
private string stuName;
private string stuAge;
现在有一个业务,需求是:只有“stuSex="男"的数据才能存入数据库”
这个时候,就要用到VO了
我们要先从页面上拿到VO,然后判断VO中的stuSex是不是等于“男”,如果条件成立,就把VO中的stuName和stuAge拿出来,放到DTO中,然后在把DTO中的stuName和stuAge原封不动地放入PO中,然后将PO传入数据库,这就是他们三个的区别
PS:VO对应页面上需要显示的数据,PO对应于数据库中存储的数据,DTO对应于除二者之外需要进行传递的数据,DTO只是VO到PO,或者PO到VO的中间过程。
本文介绍了VO(值对象)、BO(业务对象)、PO(持久对象)和DTO(数据传输对象)的概念及其应用场景,并通过一个具体案例来说明它们之间的区别及如何使用。

3528

被折叠的 条评论
为什么被折叠?



