阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
分层领域模型规约:
- DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
- DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
- BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。
- AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
- VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
- POJO( Plain Ordinary Java Object):在本手册中, POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
- Query:数据查询对象,各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。
领域模型命名规约:
- 数据对象:xxxDO,xxx即为数据表名。
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
参考:
http://www.cnblogs.com/EasonJim/p/6436387.html(阿里巴巴Java开发手册)
转载于:https://www.cnblogs.com/EasonJim/p/7967999.html
阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义相关推荐
- char怎么比较_为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?...
在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个 ...
- 19位整数 java_为什么阿里巴巴Java开发手册中强制要求超大整数禁止使用Long类型返回?...
在阅读<阿里巴巴Java开发手册>时,发现有一条关于前后端超大整数返回的规约,具体内容如下: 这个问题在之前和前端联调的时候发生过,发现根据脚本 id 去审批的时候,状态没有变化,后来和前 ...
- java不进入for_为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?...
在阅读<阿里巴巴Java开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 f ...
- 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用枚举?
在阅读<阿里巴巴Java开发手册>时,发现有一条关于二方库依赖中接口返回值不允许使用枚举类型的规约,具体内容如下: 在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内 ...
- 为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作...
在阅读<阿里巴巴 Java 开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下:"不要在foreach循环里进行 r ...
- 回顾阿里巴巴Java开发手册中分层领域模型规约之DO,DTO,BO,AO,VO,POJO
一 DO DO即Data Object:与数据库表结构一一对应,通过DAO层向上传输数据源对象. 二 DTO DTO即Data Transfer Object:数据传输对象,Service层向外传输的 ...
- 为什么阿里巴巴Java开发手册中不允许用Executors去创建线程池?
在我阅读阿里巴巴开发手册的时候,有一段关于多线程的描述: 线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样 的处理方式让写的同学更加明确线程池 ...
- DO DTO BO AO VO POJO
分层领域模型规约: DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的 ...
- 阿里巴巴java开发手册学习
本文对阿里巴巴java开发手册中需要注意的点予以记录 1.编程规约 类名中包含领域模型如DO/BO/DTO/VO时要 全部大写,如UserDTO. 抽象类要以Abstract或Base开头,异常类以E ...
最新文章
- 语言解决猜神童年龄的问题_一个程序设计题目猜年龄(不限程序语言)
- 【Maven3教程】Maven多工程、多模块
- oracle 表分区[三]
- el-image中src加载assets路径下图片使用require避免加载不到
- Windows负载机JVM 远程监控Linux服务器下tomcat
- 禁止ASP.NET MVC模型绑定时将空字符串绑定为null
- 8年web前端开发老程序员告诉你如何零基础学习web前端
- Exchange2007使用POP3/SMTP协议收发邮件
- kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
- 用python绘制彩色_使用Python/Matplotlib基于彩色地图绘制(极轴)色轮
- 联合索引(a,b,c),怎么单独检索b用上索引
- 光棍节程序员闯关秀-解密
- HTML5七夕情人节表白网页制作【爱情树-Html5实现唯美表白动画代码】HTML+CSS+JavaScript浪漫告白 求婚必备
- w7忘记计算机密码,win7系统忘记电脑开机密码的解决方法
- 恶意访问、黑产猖獗,如何做好业务安全“守门人”?丨创新场景50
- OpenCV-Python击中击不中HITMISS形态变换详解
- 【PTA】平面向量加法
- python 表示2的n次方
- 【TopCoder SRM 551 Div2】Solutions
- *p++和*++p的区别