1. 查询参数类 (Query)
- 命名规则:
xxxQuery.java
- 用途: 用于封装查询操作的请求参数,通常包含分页、过滤、排序等字段。与数据库查询或 API 请求紧密相关。
- 示例:
ProductQuery.java
、UserQuery.java
- 使用场景: 查询条件的封装,发送查询请求时使用。
2. 返回参数类 (VO)
- 命名规则:
xxxVo.java
(VO = View Object) - 用途: 用于返回给前端的数据显示对象,通常包括展示所需的字段,可能会对数据进行格式化或者转换。与数据库对象和 DTO 对象存在差异,专注于展示层的数据结构。
- 示例:
ProductVo.java
、UserVo.java
- 使用场景: 前端展示数据时,直接作为返回结果。
3. 数据传输对象类 (DTO)
- 命名规则:
xxxDTO.java
(DTO = Data Transfer Object) - 用途: 用于不同层之间传递数据的对象,通常用于服务层之间的数据传输。DTO 可能包含比 VO 更复杂的业务数据,并且可以进行序列化,传递的过程中可能涉及到字段的合并或分割。
- 示例:
ProductDTO.java
、OrderDTO.java
- 使用场景: 服务层或 API 层之间传递数据,通常包含业务相关数据。
4. 数据库对象类 (PO)
- 命名规则:
xxxPO.java
(PO = Persistent Object) - 用途: 与数据库表结构一一对应,表示数据持久化层的对象。PO 主要用于与数据库进行交互,映射数据库表中的字段,通常只用于持久化操作。
- 示例:
ProductPO.java
、UserPO.java
- 使用场景: 用于数据库的增、删、改、查操作中,直接与数据库进行交互。
5. 信息类 (Info)
- 命名规则:
xxxInfo.java
- 用途: 用于封装某个业务实体或对象的详细信息,通常包含多个维度的描述性信息,不直接与数据库交互,也不直接用于展示。它通常比
VO
和DTO
更全面,涵盖了更多的业务上下文和业务逻辑。 - 示例:
ProductInfo.java
、OrderInfo.java
- 使用场景: 描述某个对象或业务实体的详细信息,可能用于业务逻辑层中的处理,或用于为展示层提供数据支持。
6. 服务层对象类 (Service)
- 命名规则:
xxxService.java
- 用途: 封装业务逻辑的服务层对象,提供对外的 API 接口,通常负责调用 DAO 层(持久化层)以及其他业务逻辑处理。
Service
类通常包含复杂的业务操作。 - 示例:
ProductService.java
、UserService.java
- 使用场景: 业务逻辑处理和服务接口暴露,协调多个业务模块。
7. 控制器类 (Controller)
- 命名规则:
xxxController.java
- 用途: 用于处理 HTTP 请求,负责接收前端请求并调用服务层处理业务逻辑,最后将结果返回给客户端。通常会涉及到数据验证、权限控制等功能。
- 示例:
ProductController.java
、UserController.java
- 使用场景: 接收前端请求并将其交给服务层处理,返回相应结果。
8. 异常类 (Exception)
- 命名规则:
xxxException.java
- 用途: 用于捕捉和处理特定业务场景下的异常,帮助业务流程的控制和错误处理。
- 示例:
ProductNotFoundException.java
、UserUnauthorizedException.java
- 使用场景: 处理与业务相关的特定异常,确保程序的健壮性和错误的精确捕捉。
命名规范总结表
类名后缀 | 用途 | 示例 |
---|---|---|
Query | 查询参数类 | ProductQuery.java , UserQuery.java |
Vo | 返回数据类(View Object) | ProductVo.java , UserVo.java |
DTO | 数据传输对象(Data Transfer Object) | ProductDTO.java , OrderDTO.java |
PO | 数据库对象(Persistent Object) | ProductPO.java , UserPO.java |
Info | 信息类(详细描述对象) | ProductInfo.java , OrderInfo.java |
Service | 服务类(业务逻辑类) | ProductService.java , UserService.java |
Controller | 控制器类(处理请求的类) | ProductController.java , UserController.java |
Exception | 异常类(业务异常类) | ProductNotFoundException.java , UserUnauthorizedException.java |
实际应用示例
假设有一个电子商务系统的产品模块,相关的 Java 类可能会按以下方式组织:
- 查询参数类:
ProductQuery.java
— 用于封装查询条件,如产品分类、价格范围、品牌等。 - 返回数据类:
ProductVo.java
— 返回给前端展示的产品信息,如名称、图片、价格等。 - 数据传输对象:
ProductDTO.java
— 用于服务层之间传输产品数据,可能包含了产品的描述、价格、库存等信息。 - 数据库对象类:
ProductPO.java
— 与产品数据库表一一对应,包含数据库表的字段。 - 信息类:
ProductInfo.java
— 描述产品的详细信息,可能包括产品的属性、图片、评论、推荐等信息。 - 服务类:
ProductService.java
— 处理产品相关的业务逻辑,如添加、删除、更新产品等。 - 控制器类:
ProductController.java
— 接收前端请求,调用ProductService
进行业务处理,并将结果返回给前端。 - 异常类:
ProductNotFoundException.java
— 用于处理找不到产品的异常。
规范命名,不仅能确保类的职责清晰,还能够帮助团队成员在维护项目时快速理解各类对象的用途和功能。
标签:java,定义,示例,对象,数据库,业务,企业级,用于,Java From: https://blog.csdn.net/qq_35368296/article/details/144990495