POJO

POJO全称Plain Ordinary Java Object,表示简单的Java对象,是DO/DTO/BO/VO的统称。一个POJO持久化后就会成为PO,若用来传递则传递过程中是DTO,若用来对应表现层则是VO。

POJO 全称 说明
DO Domain Object 领域对象
DTO Data Transfer Object 数据传输对象
BO Bussiness Object 业务对象
VO View Object 表现层对象,对应视图层用于展示层。
  • DO领域对象,是从现实世界中抽象出来的有形或无形的业务实体,简单来说是对现实世界中各种业务角色的抽象。
  • DTO数据传输对象,概念源于J2EE的设计模式,目的是为EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用次数,从而提高分布式调用性能,以降低网络负载。DTO主要用于远程调用、不同层之间(通常是View展示层和Service服务层之间)等需要大量传输对象的位置。DTO遵守JavaBean规范,拥有Getter/Setter方法,类似VO。
  • BO业务对象,作用是把业务逻辑封装为一个对象,可以包括一个或多个对象,通常封装了对DAO、RPC等的调用,可进行PO与VO/DTO之间的装换。BO位于业务层(区别于直接对外提供服务的服务层),BO提供了基本业务单元的基础业务操作,在设计上属于被业务流程调用的对象(一个业务流程可能需要调用多个BO来完成)。
  • VO表现层对象,用于表示一个与前端进行交互的Java对象。VO的作用是将页面或组件的数据进行封装,使用一个VO对象表示一整个页面所需展示的值,其他不需要的数据不应该放入到VO对象中,以减少数据传输量。VO遵守JavaBean规范拥有Getter/Setter方法。

BO相关的概念:只包含业务对象的属性、只包含业务的方法、两者都包含

业务逻辑 是否负责
系统领域业务的处理 负责
逻辑性数据的生成、处理与转换 负责
对所输入的逻辑性数据的正确性及有效性 负责
对输出的逻辑性数据以及用户性数据正确性 不负责
对数据的呈现样式 不负责

相关概念

模型命名 全称 说明
PO Persistent Object 持久化对象
DAO Data Access Object 数据访问对象
VO Value Object 值对象
  • PO持久化对象,跟持久层(关系型数据库)的数据结构形成一一对应的映射关系,仅用于表示数据。一个PO对象相当于数据库中的一条记录,每个字段对应PO对象的一个属性。因此,PO可视为是与数据库表相映射的Java对象。PO遵守JavaBean规范,除了Setter/Getter之外没有任何操作。
  • VO值对象,用于业务层之间数据传递,和PO一样仅包含数据,应是抽象出的业务对象,可以和表对应也可以不对应。
  • DAO数据访问层对象,使用DAO访问数据库包括增删改查等操作。DAO与PO一起使用,DAO在持久层完全封装数据库操作,对外暴露的方法。上层应用不需要关注数据库相关的任何信息。

持久化是将程序数据在持久状态和瞬时状态之间转换的机制,简单来将是将瞬时数据(比如内存中的数据,它是不能永久保存的)持久化为持久数据(比如持久化至数据库就能够长久保存)。

对象转换

对象转换

你可能感兴趣的:(POJO)