代码层级组织与分类
缩写与全称
缩写 | 全称 | 层级 |
---|---|---|
dto | Data Transfer Object[1] | 数据传输对象,Service 或 Manager 向外传输的对象。 |
dao | Data Access Objects | |
vo | Value Object | 显示层对象,通常是 Web 向模板渲染引擎层传输的对象。 |
bo | Business Object | 业务对象,由 Service 层输出的封装业务逻辑的对象。 |
do | Domain Object | 此对象 与数据库表结构一一对应 ,通过 DAO 层向上传输数据源对象。 |
po | Persistant Object |
对象关系

dto
Data Transfer Object
:数据传输对象,DTO用于在不同层之间传输数据,它通常用于将业务逻辑层(Service层)的数据传输给表示层(Presentation层)或持久化层(Persistence层)。DTO对象通常包含业务领域的数据,但不包含业务逻辑。
dao
Data Access Objects
:数据访问对象,DAO用于封装数据访问逻辑,它负责与数据库进行交互,执行CRUD(创建、读取、更新、删除)操作。DAO对象通常封装了数据库访问的细节,使业务逻辑层能够更加简洁地操作数据。
vo
Value Object
:值对象,VO也是用于数据传输的对象,类似于DTO,但VO通常更加专注于视图层的数据展示。VO对象通常包含了在前端页面展示所需的数据。屏蔽掉密码、创建时间、状态等敏感信息
bo
Business Object
:业务对象层,BO用于封装业务逻辑,它通常包含了一系列的业务方法,用于实现业务规则和业务流程。BO对象通常会转化为PO对象,调用DAO对象来实现数据的持久化和访问。
大致可以这么理解:
BO这个对象可以包括一个或多个其它的对象,即 :多 PO 对象聚合成一个BO。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。这样处理业务逻辑时,我们就可以针对BO去处理。
do
Domain Object
: 领域对象,通常用于表示业务领域中的实体或业务对象。DO对象通常包含了业务逻辑和数据,是业务逻辑的实体表示。在某些情况下,DO对象可能与PO对象相似,但它们的用途和含义不同。DO对象通常用于表示业务领域中的复杂业务逻辑和业务实体。
po
Persistant Object
:持久对象,通常用于表示与数据库中的表(或文档)相映射的Java对象。PO对象的属性对应数据库表的字段,每个PO对象通常表示数据库中的一条记录。PO对象通常用于ORM(对象关系映射)框架中,如Hibernate、MyBatis等。