VO (View Object)
VO (View Object),用于表示一个与前端进行交互的视图对象,它的作用是把某个指定页面(或组件)的所有数据封装起来。实际上,这里的VO只包含前端需要展示的数据,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在VO 中体现出来。
DTO(Data Transfer Object)
DTO(Data Transfer Object),用于表示一个数据传输对象,DTO通常用于展示层(Controller)和服务层(Service)之间的数据传输对象。DTO 与 VO概念相似,并且通常情况下字段也基本一致。但 DTO 与 VO 又有一些不同,这个不同主要是设计理念上的,比如 API 服务需要使用的 DTO就可能与 VO 存在差异。
DO(Data Object)
DO(Data Object),持久化对象,它跟持久层(Dao)的数据结构形成一一对应的映射关系。如果持久层是关系型数据库,那么数据库表中的每个字段就对应PO的一个属性,常是entity实体类。
BO(Business Object)
BO(Business Object):业务对象,通常用于业务逻辑层,代表了业务逻辑的实现。BO主要负责业务逻辑的处理,包括数据校验、数据处理、业务逻辑处理等。BO可以调用多个DO,将多个DO组合起来,形成一个完整的业务流程。
PO(Persistent Object)
BO(Business Object):持久化对象。它通常用于表示数据库中的一条记录,即一组相关的数据。PO是由ORM(对象关系映射)框架生成或手动创建的Java对象,它们通常具有与数据库中的表相同的字段和数据类型。在Java开发中,PO常常被用作DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的字段与数据库中的列相对应,每一行数据对应一个PO对象,PO对象中的字段值就是对应列的值。