阿里巴巴Java开发规范·各层命名规约
1. Service / DAO 层方法命名规约
方法功能 | 前缀 | 说明 |
---|---|---|
获取单个对象的方法 | get | getObject |
获取多个对象的方法 | list | 复数形式结尾 listObjects |
获取统计值的方法 | count | |
插入的方法 | save / insert | |
删除的方法 | remove / delete | |
修改的方法 | update |
2. 分层领域模型规约
名词 | 全拼 | 全称 | 说明 | 示例 |
---|---|---|---|---|
DO | Data Object | 数据对象 | 此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 | xxDO,xx 即数据表名 |
DTO | Data Transfer Object | 数据传输对象 | 数据传输对象,Service 或 Manager 向外传输的对象。 | XXXDTO,xxx 为业务领域相关的名称 |
BO | Business Object | 业务对象,由 Service 层输出的封装业务逻辑的对象。 | ||
AO | Application Object | 应用对象,在 Web 层与 Service 层之间抽象的复用对象模型,极为贴近展示层,复用度不高 | ||
VO | View Object | 显示层对象( 展示对象) | 通常是 Web 向模板渲染引擎层传输的对象。 | xxxVO, xxx 一般为网页名称。 |
Query | 数据查询对象 | 各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。 | ||
POJO | Plain Ordinary Java Object | 是 DO / DTO / BO / VO/ 的统称 | 禁止命名成 xxxPOJO |
3. 建设领域模型注意事项
- 定义 DO / DTO / VO 等 POJO 类时,不要设定任何属性的默认值。
- 序列化类新增属性时,不要修改 serialVersionUID 字段,避免反序列化失败。
- 构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。
- POJO 类必须写 toString 方法。如果继承了另一个 POJO 类,注意前面加一下 super.toString。 (说明:在方法执行抛出异常时,可以直接调用 POJO 的 toString()方法打印其属性值,便于排查问题。)
更多的名词解释请戳:软件开发过程中遇到的各种名词解释
GitHub地址: alibaba/p3c - GitHub
阿里巴巴Java开发规范·各层命名规约相关推荐
- 阿里巴巴java开发规范学习
目录 一.编程规约 1.1 命名风格 1.2 常量定义 1.3 代码格式 1.4 OOP规约 1.5 集合处理 二.异常 三.MYSQL数据库 3.1 建表规约 3.2 索引规约 3.3 SQL语句 ...
- 阿里巴巴Java开发规范手册(转载)
阿里巴巴 JAVA 开发手册 1 / 32 Java 开发手册 版本号 制定团队 更新日期 备 注 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向 Java 业界公开 ...
- 阿里巴巴java开发规范手册
1. 命名风格 1)[强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name, $name, __name 2)[强制]代码中的命名严禁使用拼音与英文混合的 ...
- 阿里巴巴java开发规范
一.编程规约 (一)命名风格 [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例:_name / name / name/name/namename / name_ ...
- 阿里巴巴Java开发规范线程池_阿里巴巴java编程规范.pdf
阿里巴巴java编程规范 目录 一.编程规约1 (一) 命名规约1 (二) 常量定义3 (三) 格式规约4 (四) OOP 规约6 (五) 集合处理 10 (六) 并发处理 12 (七) 控制语句 1 ...
- 阿里巴巴java规范检查_阿里巴巴Java开发规范
>[info] 1.[强制]POJO 类中布尔类型的变量,都不要加 is. 否则部分框架解析会引起序列化错误. 反例:定义为基本数据类型 `boolean isSuccess`:的属性,它的方法 ...
- 阿里巴巴java开发规范Idea插件使用手册
插件官方下载地址: https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines/versions 插件包是下载的 ...
- 阿里巴巴JAVA开发规范个人需要注意的点
本人在阅读阿里巴巴开发手册后,整理出一下开发时需要注意的地方,主要针对本人平时的开发习惯所作出的整理,所以不是完整的. 说下读完的感受吧,作为一个即将实习的大三学生,不得不感叹自己离一个合格的程序员的 ...
- 阿里巴巴Java开发规范(终极版v1.3.0)--个人整理
一.编程规约 1.[强制]抽象类命名使用Abstract或Base开头:异常类命名使用Exception结尾:测试类命名以它要测试的类的名称开始,以Test结尾 2.[强制]POJO类中布尔类型的变量 ...
最新文章
- Python-Django配置阿里大于的短信验证码接口
- jupyter 安装目录Table of Contents
- JSP内置对象(request、session、application)
- ICCV 2021 | 腾讯、华中科大提出QueryInst,开启基于Query的实例分割新思路
- 南京大学计算机考研面试题目,南京大学计算机考研05-07,09年面试题
- C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序
- c语言指针++_C ++此指针| 查找输出程序| 套装3
- 【map分组求和】map集合根据某一key分组,再对某一key对应的所有值求和
- 数据库中存储引擎 myISAM 与 innoDB 比较
- 常用推荐算法(50页干货)
- php如何以post形式发送xm并返回xmll数据
- JDK9API网盘下载
- 怎么做自媒体,这份入门攻略,建议收藏
- opencv学习十三:图像金字塔和图像梯度
- es mapping 设置
- 柳神PAT甲级真题目录
- vmware 虚拟机nat连接,局域网访问
- VMware14安装Ubuntu18.10
- flush-hosts
- 前端自检梳理——Vue.js项目实战开发
热门文章
- [Python人工智能] 一.神经网络入门及theano基础代码讲解
- SQL Server2017的SSMS 下载安装
- C# 使用委托实现异步编程的四种方式
- python解包裹_python中参数传递之位置传递、关键字传递、包裹传递与解包裹
- GeoIP2数据库——根据ip确定国家/地区
- Python【算法设计与分析】穷举法
- 简单入门Zigbee
- setsockopt函数功能及参数详解
- 解决ubuntu安装完搜狗输入法只能使用英文,无法输入中文
- 单片机c语言程序设计中可以不分大小写,论单片机课程教学中C语言编程的规范性...