Java 开发命名规范


Java 开发命名规范文章插图
包名的命名规范(Package)推荐使用公司或机构的顶级域名作为包名的前缀 , 所使用的包名的唯一性 。 包名的命名必须全部为小写字母 , 且具有实际的区分意义 。
结合应用分层 , Web层(页面控制action类) , Service层(业务处理)、 Dao层(数据库访问) , 关于模块的访问操作 , 采用分层形式,一般分为:

  • Dao层操作:使用 dao 做后缀 。
  • Service层操作:使用 servie 做后缀 。
  • Web层操作:使用 action 做后缀 。
类名的命名规范 (Class)类名必须使用驼峰式命名 , 且具有实际的区分意义 。 结合应用分层 , Web层(页面控制action类)、Service层(业务处理)、Dao层(数据库访问) , 每一层类的名称需要以对应层作为后缀 , 如下 。
Dao层
  • Dao层接口类:一般采用 "实体对象+nterface+Dao" 的命名形式 。
  • Dao层接口实现类:一般采用 "实体对象+Interface+Impl+Dao" 的命名形式 。
Service层
  • Service层接口类:一般采用 "模块+Interface+Service" 的命名形式 。
  • Service层接口实现类:一般采用 "模块+Interface+Impl+Service" 的命名形式 。
Web层
  • Web层实现类:一般采用 "模块+操作+Action" 的命名形式 。
实体类的命名规范 (Class)分层领域模型规约
  • DO(Data Object):与数据库表结构对应 , 通过DAO层向上传输数据源对象 。
  • DTO(Data Transfer Object):数据传输对象 , Service或Manager向外传输的对象 。
  • BO(Business Object):业务对象 , 由Service层输出的封装业务逻辑的对象 。
  • AO(Application Object):应用对象 , 在Web层与Service层之间抽象的复用对象模型 , 极为贴近展示层 , 复用度很低 。
  • VO(View Object):显示层对象 , 通常是Web向模板渲染引擎层传输的对象 。
  • Query:数据查询对象 , 各层接收上层的查询请求 , 超过2个参数的查询封装 , 禁止使用Map类传输 。
领域模型类名命名规约
  • 数据对象:xxxxDO , xxxx为数据表名 。
  • 数据传输对象:xxxxDTO , xxxx为业务领域相关的名称 。
  • 展示对象:xxxxVO , xxxx一般为网页名称 。
【Java 开发命名规范】POJO 是DO/DTO/BO/VO的统称 , 禁止命名成 xxxxPOJO 。
Service/DAO层的方法命名规约
  • 插入的方法命名使用 insert或save 做前缀 。
  • 删除的方法命名使用 delete或remove 做前缀 。
  • 修改的方法命名使用 update 做前缀 。
  • 获取单个对象的方法命名使用 get 做前缀 。
  • 获取多个对象的方法命名使用 list 做前缀 , 复数结尾 。
  • 获取统计值的方法命名使用 count 做前缀 。