首页 > 编程语言 >企业级Java 实体对象类定义规范

企业级Java 实体对象类定义规范

时间:2025-01-07 18:05:32浏览次数:3  
标签:java 定义 示例 对象 数据库 业务 企业级 用于 Java

1. 查询参数类 (Query)

  • 命名规则: xxxQuery.java
  • 用途: 用于封装查询操作的请求参数,通常包含分页、过滤、排序等字段。与数据库查询或 API 请求紧密相关。
  • 示例: ProductQuery.javaUserQuery.java
  • 使用场景: 查询条件的封装,发送查询请求时使用。

2. 返回参数类 (VO)

  • 命名规则: xxxVo.java (VO = View Object)
  • 用途: 用于返回给前端的数据显示对象,通常包括展示所需的字段,可能会对数据进行格式化或者转换。与数据库对象和 DTO 对象存在差异,专注于展示层的数据结构。
  • 示例: ProductVo.javaUserVo.java
  • 使用场景: 前端展示数据时,直接作为返回结果。

3. 数据传输对象类 (DTO)

  • 命名规则: xxxDTO.java (DTO = Data Transfer Object)
  • 用途: 用于不同层之间传递数据的对象,通常用于服务层之间的数据传输。DTO 可能包含比 VO 更复杂的业务数据,并且可以进行序列化,传递的过程中可能涉及到字段的合并或分割。
  • 示例: ProductDTO.javaOrderDTO.java
  • 使用场景: 服务层或 API 层之间传递数据,通常包含业务相关数据。

4. 数据库对象类 (PO)

  • 命名规则: xxxPO.java (PO = Persistent Object)
  • 用途: 与数据库表结构一一对应,表示数据持久化层的对象。PO 主要用于与数据库进行交互,映射数据库表中的字段,通常只用于持久化操作。
  • 示例: ProductPO.javaUserPO.java
  • 使用场景: 用于数据库的增、删、改、查操作中,直接与数据库进行交互。

5. 信息类 (Info)

  • 命名规则: xxxInfo.java
  • 用途: 用于封装某个业务实体或对象的详细信息,通常包含多个维度的描述性信息,不直接与数据库交互,也不直接用于展示。它通常比 VODTO 更全面,涵盖了更多的业务上下文和业务逻辑。
  • 示例: ProductInfo.javaOrderInfo.java
  • 使用场景: 描述某个对象或业务实体的详细信息,可能用于业务逻辑层中的处理,或用于为展示层提供数据支持。

6. 服务层对象类 (Service)

  • 命名规则: xxxService.java
  • 用途: 封装业务逻辑的服务层对象,提供对外的 API 接口,通常负责调用 DAO 层(持久化层)以及其他业务逻辑处理。Service 类通常包含复杂的业务操作。
  • 示例: ProductService.javaUserService.java
  • 使用场景: 业务逻辑处理和服务接口暴露,协调多个业务模块。

7. 控制器类 (Controller)

  • 命名规则: xxxController.java
  • 用途: 用于处理 HTTP 请求,负责接收前端请求并调用服务层处理业务逻辑,最后将结果返回给客户端。通常会涉及到数据验证、权限控制等功能。
  • 示例: ProductController.javaUserController.java
  • 使用场景: 接收前端请求并将其交给服务层处理,返回相应结果。

8. 异常类 (Exception)

  • 命名规则: xxxException.java
  • 用途: 用于捕捉和处理特定业务场景下的异常,帮助业务流程的控制和错误处理。
  • 示例: ProductNotFoundException.javaUserUnauthorizedException.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

相关文章

  • Vue组件及其自定义事件
    组件组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树: 标题注册一个全局组件语法格式如下:Vue.component(tagN......
  • Java Spring Boot实现基于URL + IP访问频率限制
    点击下载《JavaSpringBoot实现基于URL+IP访问频率限制(源代码)》1.引言在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段。为了保护系统资源,防止服务器过载或服务不可用,需要对接口的访问频率进行限制。本文将介绍如何使用SpringBoot实现基于URL......
  • 【编码】如何实现一套自定义网络协议?
    前言下文介绍的自定义协议仅作为学习示例,纯粹是玩具项目,没有实际可用性。无需过度关注和讨论其合理性进行通信的双方是谁?常见的模型客户端-服务器,例如HTTP协议,浏览器<=>Web服务器。中转站模型,如MQTT协议,应用服务<=>中转站<=>硬件客户端对等模型,例如Thrift协议,应用服务<=>应......
  • Java 异常机制详解:类型、原理、关键字与最佳实践
    异常是Java程序开发中必须掌握的一部分。正确地处理异常不仅可以提高代码的健壮性,还能让程序更易维护。本篇文章将详细讲解Java异常的体系结构、常见类型、关键字的使用及最佳实践,帮助你全面掌握Java异常处理。......
  • 大学生HTML5期末作业 html+css网页制作 新闻 自定义新闻主题2个页面 Web前端网页制作
    大学生HTML5期末作业html+css网页制作新闻自定义新闻主题2个页面Web前端网页制作html5+css3+js网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode、Sublime、Webstorm、Text、Notepad++等任意html编辑软件进行运行及修改编辑等操作)。获取源......
  • JAVA实现抖音、快手短视频解析去除水印下载无水印视频
    前言之间抖音接口有些变动,导致抖音解析代码失效,现在更新下文章的代码,亲测有效。需要引入的pom文件   <!--hutool工具类-->      <dependency>         <groupId>cn.hutool</groupId>         <artifactId>hutool-all</artifactId......
  • Java基础学习(二)
    Java基础知识(二):基础语法本文为个人学习记录,内容学习自狂神说Java注释单行注释(Linecomment)//这是单行注释多行注释(Blockcomment)/*这是多行注释*/文档注释(JavaDoc)/***@DescriptionHelloWorld*@Authorvictoria*/注意:文档注释不同于多行注释,其中......
  • Java基础学习(一)
    Java基础学习(一):入门知识本文为个人学习记录,内容学习自狂神说JavaJava三大版本JavaSE:标准版,主要用于桌面程序和控制台程序开发JavaME:微缩版,主要用于嵌入式开发JavaEE:企业版,主要用于Web端和服务器开发Java相关缩写词JDK:JavaDevelopmentKit,Java开发工具JRE:JavaRu......
  • java进行图片压缩
    图片压缩添加依赖<dependency><groupId>com.siashan</groupId><artifactId>toolkit-image</artifactId><version>1.1.9</version></dependency>使用Thumbnails来进行图片压缩publicstaticvoidcompressImage(Stringp......
  • 自定义加密算法
    常见的哈希算法如Caesar,Base64,MurmurHash等已经被安全研究人员盯上了,经常使用这些算法作为特征定位恶意软件,因此最好使用自定义算法或不常见算法。base58加密cmd.exe#include<winsock2.h>#include<string.h>#include<stdio.h>#include<stdlib.h>constchar*const......