zoukankan      html  css  js  c++  java
  • PO、VO、BO、POJO、DAO、DTO都是什么对象

    名词很多有木有?!有点烦对不对?!那咋办?! 学呗,学会你就不烦了,哈哈[奸笑]... ...

    是不是经常听别人说PO VO这类的,那这些对象到底是啥?其实我之前也迷迷糊糊,所以今天就来总结一波。本文分为三部分

    1)名词解释,2)具体解释,3)总结

    一:名词解释(英语单词记下来,就知道各个简称,对应什么了)

      PO(persistent object)持久化对象

      VO(Value Object)值对象

      BO(Business Object)业务层对象

      DAO(Data Access Object)数据访问对象

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

      POJO(Plain Ordinary Java Object)简单的Java对象

    二:具体解释

      1)PO:持久层对象,这个是我们经常用的。和表对应,需要实现序列化接口。

          A:表中的一条记录对应了一个PO对象,多条记录就对应了一个PO集合。

          B:表的字段和PO对象的属性一一对应

          哈哈,方便不,一条物理数据被你顺利当成了一个对象数据来处理,毕竟我们面向对象嘛

      2)VO:值对象,通常用于业务层之间的数据传递

          A:可以和数据库对应,也可以不对应

          B:ViewObject表现层对象,主要对应界面显示的数据

      3)BO:业务对象,把业务逻辑封装成一个对象

          比如,一个页面显示的有班级PO、学校PO、地址PO,把这三个PO封装成一个对象,这就成了一个BO

      4)DAO:数据访问对象

           A:用DAO来封装DataSource

           B:用DAO来实现对数据的操作(比如基本的CRUD)

          想一想,你是不是经常写UserDao之类的对象来访问和操作数据呢?

      5)DTO:数据传输对象,顾名思义,传输数据的对象呗

           其实PO不也是传输映射表,然后传输数据吗,区别在哪呢?和BO又有什么不同

           A:某一个表可能有20字段,但是你可能只要用其中的10个字段,就是说对应的10个属性你不需要,

            也不对其进行操作,那么这时候,只把你需要的10个对象拿出来封装成你需要的对象,那,

            这个新对象就是一个DTO,这个对象进行页面展示后,就成了一个VO对象

           B:和BO的区别在于,一个是做加法的过程,一个是做减法的过程,BO是把几个对象整合成一个,

             而DTO是抽取出一个表(对应一个PO)中几个字段(对应PO的属性)封装成新的对象

      6)POJO:简单Java对象

            一个POJO被持久化后成了PO,用来传递过程就成了DTO,对数据库进行访问操作时,就是DAO,

           用来显示后就成了VO

    三:总结

      大家都是Java对象嘛,只不过是,在不同的场合,根据不同的角色和功能,有了不同的对象名称。个人觉得,

      要想记住这几个对象,记住英文名字就可以了,见文思意,把这几个对象的中文全称说出来,那么这个对象对应的功能和应用场景,就理解的差不多了。

      就跟人一样,小学、初中、高中分别叫小学生、初中生、高中生,同一个人为啥叫法不一样,因为不同时期的角色和功能不一样呀!

      哈哈,总结完,印象很深刻,所投入的时间,都是值得的。

      希望,可以帮助到有需要的童鞋们...

  • 相关阅读:
    Postfix邮件
    RAID和LVM磁盘阵列
    CF1400G
    CF1400F
    2020 AC Saber夏季赛 游记
    APIO2018 题解
    2020北京中考游记
    初中数学几何推理大梳理
    CF1373F Network Coverage
    部编人教版初中历史书事件影响/意义汇总
  • 原文地址:https://www.cnblogs.com/coisini/p/9797378.html
Copyright © 2011-2022 走看看