POJO
POJO 是 Plain Old Java Object
的简称,它指的是一个没有限制或要求下的纯平对象。POJO 用于表示没有任何框架或技术限制的纯数据对象。在 Java 开发中,POJO 通常用于简化复杂对象和降低对象的耦合度,是面向对象编程中 "高内聚、低耦合" 设计思想的体现。
示例代码:
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
Domain
Domain 是 Domain Object
的简称,即领域对象。它主要是用来表示一个领域或业务的对象,包含业务领域所需的属性和行为。Domain 对象更注重业务逻辑的封装,与数据存储相较而言更加抽离出来,以达到重用和可扩展性的目的。
示例代码:
@Data
public class User {
private Long id;
private String name;
private Integer age;
public void save() {
// 保存用户信息的业务逻辑
}
}
DO
DO 是 Data Object
的缩写,即数据对象,它主要是用来映射关系型数据库的对象实体。DO 对象通常和数据库表一一对应,其属性名称和类型与表中的属性名称和类型对应。DO 通常使用 ORM 框架来实现数据的 CRUD 操作,例如Hibernate、MyBatis 等。
示例代码:
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String password;
private String email;
}
DTO
DTO 是 Data Transfer Object
的简称,即数据传输对象,用于传输数据。与 DO 和 Domain 对象相比,DTO 对象更注重数据传输的目的,通常只包含必要的属性,以便于在不同层之间传输数据。DTO 对象通常可以包含多个 Domain 对象的相关属性,因此也被称为组合对象。
示例代码:
@Data
public class UserDTO extends User{
private List<Address> addresses;
}
VO
VO 是View Object
的缩写,即视图对象,它用于显示数据或在前端展示。VO 对象是以“视图”为基础的对象,通常从 DTO 或 Domain 对象中抽取必要的属性来构建对象。在所有前端渲染中,VO 对象都是最常用的元素之一。
示例代码:
@Data
public class User {
private Long id;
private String name;
private String email;
}
标签:DO,Domain,实体类,String,对象,private,Data,public
From: https://blog.51cto.com/learningfish/6188128