VO (Value Object) 值对象是一种领域模型,用于承载一组属性或字段,通常用于展示层传输数据。VO 只包含 get 方法,通常不包含业务逻辑和行为方法。VO 主要用于在不同层之间传递数据,并且可以用于封装批量查询结果集中的数据。
DTO (Data Transfer Object) 数据传输对象是一种数据结构,通常用于不同系统或子系统之间的数据传输。DTO 可以将多个 VO 组合成一个 DTO,也可以从多个 VO 中提取信息而组成。DTO 主要用于解耦应用中不同模块之间的耦合度。
BO (Business Object) 业务对象是一种类,通常用于封装了业务逻辑和行为的对象。BO 包含了某个业务流程的全部或部分实现逻辑,可以进行业务操作和处理业务逻辑,具有较强的业务含义。
DO (Domain Object) 领域对象是指在领域建模过程中直接映射到概念的对象,它反映了业务需求和领域知识的本质,是业务流程中的实体对象。DO 无法包含与业务流程无关的数据属性和方法,只包含与业务流程相关的属性和方法。
PO (Persistent Object) 持久化对象是用来和数据库表进行交互的对象,通常与数据库中的一张表对应。PO 可以进行 CRUD(增删改查)操作,并且通过 ORM 技术实现了对象到关系数据表之间的映射。
POJO (Plain Old Java Object) 简单 Java 对象是没有任何特殊限制的 Java 类,不需要实现接口或者继承特定的类。POJO 通常用于业务逻辑中的普通数据处理,遵从简单和通用设计原则。
Entity 实体是指在面向对象程序设计中,与概念相对应的真实存在的事物,它可以是一个对象或值对象。Entity 需要满足以下条件:唯一性、可识别性和可持久化。