分层领域模型规约:
  • DO(Data Object):此结构与数据库表结构一一对应,通过DTO向上传输数据源对象。
  • DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
  • BO(Business Object):业务对象,由Service 层输出的封装业务逻辑的对象。
  • AO(Application Object):应用对象,在Web 和 Service 层之间抽象的复用对象模型。
  • VO(Value Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
领域模型命名规范:
  • 数据对象:xxxDO,xxx即为数据表名;
  • 数据传输对象:xxxDTO,xxx为业务领域相关的名称;
  • 展示对象:xxxVo,xxx为网页名称;
  • POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
 
  • PO(Persistant Object),持久对象
  可以看成是与数据库中的表相映射的java对象。使用Hibernate生成PO是不错的选择。
  • VO(Value Object),值对象
  通常用于业务层之间的数据传递,和PO一样也仅仅包数据而已。但应该是抽象出的业务对象,不要求必须和表对应,根据业务需要。PO只能在数据层,VO用在商业逻辑层和表示层。
  • DTO(Data Transfer Object),数据访问对象接口
  与数据库打交道,夹在业务逻辑与数据库资源中间。
  • BO(Business Object),业务对象层
  表示应用程序领域内"事物"的所有实体内。这些实体类驻留在服务器上,并利用服务类来协助完成他们的职责。
  • DTO(Data Transfer Object),数据传输对象
  只要用于远程调用等需要大量传输对象的地方。例如某张表有100个字段,那么对应的PO就有100个属性。但业务需求是在
界面上显示其中10个字段即可,客户端采用Web Service来获取数据,就没有必要把整个PO对象传递到客户端,这时就可以把需要的10个字段通过DTO传递到客户端。如果用这个对象来对应界面显示,就可以转换为VO。
  • POJO(Plain Old Java Objects),简单的Java对象
  实际就是普通的JavaBeans,使用POJO是为了避免与EJB混淆。
 

区分PO、VO、 BO、 DTO、 POJO的更多相关文章

  1. PO VO BO DTO POJO DAO(转)

    2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. PO(bea ...

  2. JavaEE PO VO BO DTO POJO DAO 整理总结

    佩服能将复杂难懂的技术,抽象成简单易懂事物的人. 厌恶将简单易懂的技术,添加一堆专业术语将别人弄的头晕目眩的人. PO VO BO DTO POJO DAO 总体一览: 1.DAO[data acce ...

  3. PO VO BO DTO POJO DAO之间的关系

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了. PO:persistant ...

  4. PO,VO,BO,DTO,POJO(POCO),DAO的区别(转载)

    PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:business object业 ...

  5. Java中DAO/DTO/PO/VO/BO/QO/POJO

    ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...

  6. Java开发各层对象专用名词含义 PO,VO,DAO,BO,DTO,POJO, BYO,Entity,JavaBean,JavaBeans

    Java的几种名词(PO,VO,DAO,BO,POJO)解释 PO:persistant object 持久对象.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一 ...

  7. PO,VO,BO,POJO,DAO的区别

    基本概念 PO:persistant object (持久化对象),可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不 ...

  8. PO VO DAO DTO BO TO概念与区别(转)

    O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R Mapping的世界里,有两 ...

  9. PO VO DAO DTO BO TO概念与区别

    O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R Mapping的世界里,有两 ...

  10. PO/VO/BO等对象模型

    PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

随机推荐

  1. C# 的布尔类型和字符串类型(模板字符串)

    // 布尔类型 boll bool b = false; b = 1 == 1; // true bool b1 = 1 > 23; // false // 值类型 : 在代码中初始化类型的时候 ...

  2. 封装 axios 拦截器

    import axios from "axios"; // 自定义一个 request 实例 const request = axios.create({ baseURL: &qu ...

  3. 0201-PyTorch0.4.0迁移指南以及代码兼容

    0201-PyTorch0.4.0迁移指南以及代码兼容 目录 一.概要 二.合并Tensor和Variable和类 2.1 Tensor中的type()改变了 2.2 什么时候autograd开始自动 ...

  4. JOI Open 2016

    T1 JOIRIS 你在玩俄罗斯方块,游戏区域是一个宽度为 \(n\),高度足够大的矩形网格.初始时第 \(i\) 列有 \(a_i\) 个方块. 给定参数 \(k\),你可以做不超过 \(10^4\ ...

  5. Monaco Editor 实现一个日志查看器

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:文长 前言 在 Web IDE 中,控制台中展示日志是至关 ...

  6. 利用 Kubernetes 内置 PodTemplate 管理 Jenkins 构建节点

    作者:Rick Jenkins 可以很好地与 Kubernetes 集成,不管是控制器(controller)还是构建节点(agent),都能以 Pod 的形式运行在 Kubernetes 上. 熟悉 ...

  7. 格点拉格朗日插值与PME算法

    技术背景 在前面的一篇博客中,我们介绍了拉格朗日插值法的基本由来和表示形式.这里我们要介绍一种拉格朗日插值法的应用场景:格点拉格朗日插值法.这种场景的优势在于,如果我们要对整个实数空间进行求和或者积分 ...

  8. 2款使用.NET开发的数据库系统

    前言 今天大姚给大家分享2款使用.NET开发且开源的数据库系统. Garnet Garnet是一款由微软研究院基于.NET开源的高性能.跨平台的分布式缓存存储数据库,该项目提供强大的性能(吞吐量和延迟 ...

  9. 3-5&&6 C++数组遍历

    遍历二维数组的三种方式 #include<iostream> #include<string> #include<vector> using namespace s ...

  10. thinkpad x250装manjaro linux,解决指纹和远程桌面问题

    前言 家里有个thinkpad x250闲置,平时主要用windows,大概隔一年半年装一次linux看看发展程度. 自己平时用的服务器一般装centos和debian,偶尔是ubuntu. 桌面li ...