美文网首页
Java中PO,DO,DTO,VO的概念

Java中PO,DO,DTO,VO的概念

作者: 一粒有梦想的痞老板 | 来源:发表于2018-10-23 23:16 被阅读0次

    PO(persistant object) 持久对象

    • 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。
    • 一个PO有三种状态:
      1.未被持久化的VO,此时就是一个内存对象VO,由JVM管理生命周期。
      2.已被持久化的PO,并且在Session生命周期内,此时映射数据库连接,由数据库管理生命周期。
      3.曾被持久化过,但现在和Session已经托管(detached)了,以VO的身份在运行。它还可以进入另一个Session,继续PO状态管理。

    DO(Domain Object)领域对象

    • 就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。

    DTO(Data Transfer Object) 数据传输对象

    • 这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。

    VO(view object) 值对象

    • 视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

    举个DTO,VO的例子

    • 登陆京东商城,登陆的时候需要给后端传送账号密码,这里给他设为一个对象LoginUser;登陆成功后后端向前端返回一组数据用于展示京东商品页面,这个对象叫ShowMessage;
    • 在这个例子里,LoginUser便是DTO;ShowMessage既是VO

    相关文章

      网友评论

          本文标题:Java中PO,DO,DTO,VO的概念

          本文链接:https://www.haomeiwen.com/subject/psmzzftx.html