数据对象分多种,为方便阅读并区分各数据对象的用途,习惯将数据对象分为以下几类,供参考:

  1. 持久对象 PO(persistant object)
    对象关系映射(ORM)概念的产物,基本上对象的成员变量对应了数据库中一行记录各字段的映射,方便实现ORM的持久层框架如(Ibatis)在读取数据的时候将数据库一行记录快速转换为对象供业务层使用。因此,持久对象PO里边本应该不包含逻辑,只有标配的getter和setter方法即可。
  2. 数据对象DO(data object) 或 值对象VO(value object)
    通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但PO对象中成员变量严格与数据库一行记录的字段严格一一映射,但DO或者VO可以不是这样的,只要业务层对象之前交换需要的数据字段即可,因此承载的数据而言 DO <= PO。
  3. 数据传输对象DTO/TO (data transfer object)
    一般用于不同应用程序之间传输的数据对象,同个应用程序内部一般用DO即可。
  4. 业务对象BO (business object)
    封装业务逻辑结果的业务对象可以包含多个类型的DO/VO或者PO等,一般封装好的BO可以包含各个维度的结果数据直接给Control层直接使用,一般体积会叫DO或PO大。
  5. 简单无规则java对象POJO(plain ordinary java object)
    纯传统意义的java对象,只有属性字段及setter和getter方法,其中DO、PO一般可以称为POJO。实际项目中,一般不会有命名POJO的习惯。
  6. 数据访问对象DAO(data access object)
    负责持久层的操作,并为业务层提供接口,一般配合PO针对数据库的CURD操作使用。
以上对象命名纯属个人比较认可的对象命名习惯,一般还要结合团队的命名规范和项目的分层决定,命名规范区分开来只为开发减少沟通成本,如果没有必要,一切从简即可!

Java编码规范之数据对象命名的更多相关文章

  1. Java基础学习总结(92)——Java编码规范之排版、注释及命名

    为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行 下列情况应该使用一个空行: ...

  2. 资料推荐--Google Java编码规范

    之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...

  3. 标准的Java编码规范手册

    编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题.今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助. 编码规范的意义      ...

  4. Eclipse formater(google Java 编码规范)

    1. 谷歌Java编码规范 http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 2. 下载配置文件: https://co ...

  5. 阿里Java编码规范

    详细,全面 很不错 阿里 Java编码规范

  6. CheckStyle,定制属于自己的Java编码规范

    前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...

  7. Google 推出的 Java 编码规范(转)

    原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http: ...

  8. Google的Java编程风格指南(Java编码规范)

    这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...

  9. 个人整理--Java编码规范

    编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件 ...

随机推荐

  1. component-scan和annotation-driven

    <context:component-scan/> 该xml配置作用是启动Spring的组件扫描功能,自动扫描base-package指定的包及其子文件下的java文件,如果扫描到有@co ...

  2. oracle deadlock

    Basic operation su - oracle sqlplus / as sysdba show parameter background show parameter user_dump_d ...

  3. python实现scrapy爬取图片到本地时的sha1摘要算法文件名

    2017-03-29 Scrapy爬图片到本地应该会给图片自动生成sha1摘要算法文件名,我第一次用scrapy也不清楚太多,就在程序里自己写了一段实现这一功能的代码.需import hashlib ...

  4. Java虚拟机内存分配和回收策略

    1 对象优先分配在Eden区 对象优先在Eden进行分配,大多数情况下,对象在新生代Eden区进行分配.当Eden区没有足够的空间进行分配时,虚拟机会发起一次Minor GC. 新生代GC(Ninor ...

  5. JSP 基于Oracle分页

    booklist.jsp <%@page import="books.accp.utils.Pager"%> <%@page import="books ...

  6. WebGL 启动载入触发更新流程分析

    WebGL 启动载入触发更新流程分析 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载 ...

  7. 网页抓取工具Teleport Ultra简介及如何使用

    Teleport Ultra是一款专业的离线浏览器,能够快速.准确地从网络抓取数据并保存到本地,实现离线浏览的目的.它可以从Internet的任何地方抓回你想要的任何文件,它可以在你指定的时间自动登录 ...

  8. 计算机网络11--OSI參考模型

    本页内容 1.OSI參考模型简单介绍 2.OSI參考模型通信过程 3.OSI參考模型的数据封装 4.数据封装的意义 5.物理层 6.数据链路层 7.网络层 8.传输层 9.会话层 10.表示层 11. ...

  9. Jquery跨域请求php数据(jsonp)

    Jquery跨域请求php数据 我们一般用到ajax的时候是在同服务器下,一般情况下不会跨域,但有时候需要调用其他域名或ip下的数据的时候,遇到跨域请求数据的时候. 今天在工作中碰到javascrip ...

  10. ubuntu16.04 安装系统之后的开发必备-sourcelist--idk-sublime--opencv

    设置sourcelist.txt # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ub ...