图1、2:基于Springmvc、RPC的三层架构角度

图3、4:基于struts2的三层架构角度

图5:基于mybatis三层构架角度

 图6:基于servlet的三层构架角度

图7:信产业务

 图8:其它


看着这图就比较复杂了,下面是我的简单看法,因为每个公司都有自己的规范或者要求,尽量多问问同事 :

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

    1. 前到后: 用户发出请求(可能是填写表单),比如前端表单的数据在展示层(XxxAction/XxxController)被匹配为XxxVO.java。
    2. 后到前:后端返回个前端的对象,可以 XxxVO.java
  2. DTO(Data Transfer Object),数据传输对象。这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
    1. (XxxAction/XxxController)把VO转换为服务层(XxxServiceImpl.java对应方法参数所要求的DTO,传送给服务层(如XxxServiceImpl.java)。
  3. BO(Business Object)业务对象。封装对象、复杂对象 ,里面可能包含多个类;
    1. 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象
      比如一个简历,有教育经历、工作经历、社会关系等等。
      我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
      建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
      这样处理业务逻辑时,我们就可以针对BO去处理。
  4. DO(Domain Object),领域对象。就是从现实世界中抽象出来的有形或无形的业务实体。
    1. 首先,服务层(XxxServiceImpl.java)根据方法参数DTO的数据构造(或重建)出一个DO;然后,调用DO的业务方法完成具体业务。
  5. PO(Persistent Object),持久化对象/数据。它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
    1. mybatis生成的dao表实体对象,可以 XxxPO.java

参考:

开发中DTO,VO的解释 - 微笑点燃希望 - 博客园 (cnblogs.com)

VO、DTO、DO、PO之间关系 - - ITeye博客

架构设计(15):Java顶层工程结构规范和浅析VO、DTO、DO、PO - it610.com

面向服务体系架构的业务组件模型 - Java EE - 软件开发管理 - 深度开源 (open-open.com)

领域驱动模型VO、DTO、DO、PO 概念及其区别-51CTO.COM

POJO/PO/Bean/JavaBean/PO/DTO/VO/BO的区别和联系(文字最多)

bo dto java vo_PO、VO、BO,JavaWeb中的这几个“O”,你都了解吗 - it610.com

PO BO VO DTO POJO DAO DO 令人迷惑的Java概念 - liuyiyuan - 博客园 (cnblogs.com)

VO BO DTO PO怎么理解使用?-H5W3

一篇文章讲清楚VO,BO,PO,DO,DTO的区别 - it610.com

po、bo、do、dto、vo相关图形相关推荐

  1. PO\POJO\DTO\VO相关说明

    1. PO (Persistent Object):是指持久化对象,通常是指与数据库表结构一一对应的Java类,用于将数据从数据库中取出并映射为Java对象.PO通常包含了数据表中的字段和相应的get ...

  2. PO/BO/VO/DTO/POJO/DAO/DO

    文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...

  3. POJO、PO、BO、DTO、VO的含义以及应用场景

    一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  4. PO BO VO DTO POJO DAO DO 在java中的概念

    PO BO DTO VO POJO PO DTO VO BO 都叫POJO,就是个简单的java对象: DAO 是进行数据库增删改查的类. BO 业务对象,封装对象.复杂对象 ,里面可能包含多个类: ...

  5. Spring Boot开发中,经常听到的PO、VO、DAO、BO、DTO、POJO到底是什么?

    在Spring Boot开发中,我们经常会听到诸如PO.VO.DAO.BO.DTO.POJO等概念.这些术语看起来很相似,但它们之间有着不同的含义和用途.在本文中,我们将详细介绍这些概念,并解释它们在 ...

  6. PO BO VO DTO POJO DAO概念

    刚开始写blog,主要的目的是积累,学习,供日后查找! 如题,今天跟主管交流,被好多名词整蒙了,这些词以前都听说过,但是对其内在的含义并不是很清楚的了解,借此机会写上来,增加记忆和理解吧. 一下是原文 ...

  7. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 PO:持久对象 (persistent object),po(persiste ...

  8. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...

    常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...

  9. java do po dto_彻底搞懂DAO,PO,BO,DTO,VO,DO

    原标题:彻底搞懂DAO,PO,BO,DTO,VO,DO 有干货,就分享,点上面的蓝字"测试之道"关注. 上才艺,哦不,上图... Entity 最常用实体类,基本和数据表一一对应, ...

最新文章

  1. 胡扯JS系列-匿名函数的自动运行
  2. react-native绑定优酷SDK-附效果图和源码
  3. 【java8新特性】——Stream API详解(二)
  4. 为什么以太网中需要 最小帧
  5. centos搭建NFS服务器
  6. flask实现后台java实现前端页面_java实现telnet功能,待实现windows下远程多机自动化发布软件后台代码...
  7. 7款HTML5的精美应用教程让你立即爱上HTML5
  8. php ai,php能做AI智能吗
  9. 将执行文件转化为bat批处理文件的工具(批处理文件方式提供)
  10. 搜索接口php,【微信公众平台开发】百度周边搜索接口php封装
  11. 《剑指offer》面试题16——反转链表(C++)
  12. OpenCV 网络视频传输 C++ 和 python实现
  13. cs1.6服务器修改游戏类型,cs1.6联机及游戏模式详细解读
  14. 【老生谈算法】matlab实现传染病模型源码——传染病模型
  15. 关于IE插件开发(一)——COM组件开发加法
  16. 对java方法进行功能增强的三种方法
  17. Classic Shell 4.2.4 中文版已经发布
  18. trt-tl10ac01b220_android 7.0_emui 5.1,华为畅享7 plus固件TRT-TL10C01B201_Android 7.0_EMUI 5.1强刷救砖包...
  19. 提取mdx字典文件中的数据
  20. 如何修改CAD制图时光标尺寸大小?

热门文章

  1. 鼠标没有唤醒计算机功能,怎么设置碰到鼠标电脑不会唤醒亮起来
  2. 警惕邮件中的发票链接
  3. NYOJ:71-独木舟上的旅行
  4. vite+ts+vue组合式api-c端-移动端项目(保姆级教学)
  5. 写的坦克游戏 希望对你有帮助
  6. android中按两次返回键返回桌面或退出程序
  7. 清华一日游-恰逢清华大学99周年校庆
  8. 盘点2020年北京市小升初考试关于信息学竞赛的那些事儿!
  9. pythoninstaller打包 其他电脑无法运行_Pyininstaller一个软件包故障坑,Pyinstaller,打包,失败,的...
  10. 也谈谈我对腾讯“抄袭”的认识