java笔记

对象拷贝优雅解决方案Mapstruct

概念

接下来介绍DTO,DO,BO,VO
POJO可以看着是VO、BO、DTO、DO的抽象总称
DTO( Data Transfer Object):数据传输对象
DTO是来绑定表现层中的数据,与实体Entity不同,DTO是指数据在页面和业务层逻辑,比如当客户在页面提交了表单后,业务层先为这个数据构造了一个DTO对象,然后业务方法内部将DTO对象转为实体对象,然后通过这个实体对象去调用数据库的信息。从这个过程可以看出DTO对象是处理显示层和业务层的数据传递,Entity对象是处理业务层和数据库之间的数据传递。

DO( Data Object):领域对象
DO是从现实世界中抽象出来的有形或无形的业务实体,它与DTO不同,DTO是处理数据在页面与业务层之间的流动,而DO像是在业务层里给用户分角色,将用户角色的权限和用户的信息封装。

BO( Business Object):业务对象
将数据通过一定的业务逻辑进行展示的业务逻辑展现层,主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。其中包含了业务方法和业务属性,在处理业务时就可以针对BO去处理业务。

VO( View Object):视图对象
于绝大部分的应用场景来说,DTO和VO的属性值基本是一致的,两个都是POJO,这个是在实现层面上,对于设计层面来说,概念上还是应该存在VO和DTO,因为两者有着本质的区别,DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。在需求明确,客户端只有一个的时候是没有必要将VO和DTO分开的,而在不明确而且一个展示页面可能需要多个DTO的数据组成时就可以考虑用上VO。总的来说VO主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。
————————————————
原文链接

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值