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