文章目录
- 1. DAO (Data Access Object) 数据访问对象
- 2. DTO (Data Transfer Object) 数据传输对象
- 3. DO (Domain Object) 领域对象
- 4. VO(View Object) 视图模型
- 5. AO (Application Object) 应用对象
- 6. BO (Business Object) 业务对象
- 7. POJO (Plain Ordinary Java Object) 纯普通Java对象
- 8. PO (Persistent Object) 持久化对象
- 9. Entity 实体
- 10. Model (概念实体模型) 实体类和模型
- 11. View (概念视图模型) 视图模型
1. DAO (Data Access Object) 数据访问对象
-
DAO: 数据访问接口
-
一般在**业务逻辑层(Service)对数据库(SQL)**的访问时使用
2. DTO (Data Transfer Object) 数据传输对象
-
数据传输对象 DTO (Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。
-
可理解为:多张表部分字段的集合
-
一般在 前端(Web) 对 控制层(Controller)**进行**数据传输时使用,说白了就是前端向后台提交数据。
3. DO (Domain Object) 领域对象
- 领域对象 DO 是从现实世界中抽象出来的有形或无形的业务实体。用来接收数据库对应的实体,是一种抽象化的数据状态,介于数据库与业务逻辑之间。
- 在 **业务逻辑层(Service)**对 数据库(SQL) 的访问时 接收数据时使用。
- DO与Entity概念大概相同,实际应用是相同的,不同点:DO是与数据库存在着某种映射关系的Entity,Do是Entity的一种
4. VO(View Object) 视图模型
- VO视图模型,用于展示层,作用是把某个指定页面的所有所有数据封装起来。
- 一个DTO对应一个VO :DTO=VO;
- 一个DTO对应多个VO :展示层需要将VO转换为服务层对应方法所需要的DTO,传递给服务层。——达到服务层与展示层的解耦。
- 用于 **业务逻辑层(Service)**对 **前端(Web)**的 视图模型效果可控制的展示上 ,后台向前端传输数据
- 网页名称VO
5. AO (Application Object) 应用对象
6. BO (Business Object) 业务对象
- 对数据进行检索和处理的组件。主要作用:把业务逻辑封装为一个对象(包含一个或多个其他的对象)。形象的描述为一个对象的行为和动作,涉及到其他对象的一些行为和动作。
- 用在 包含业务功能模块的具体实例上。
7. POJO (Plain Ordinary Java Object) 纯普通Java对象
- POJO包含DO、DTO、BO、VO,这些本质上都是一个简单的java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
- 使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.。其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,这里特意说明纯普通Java对象,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。
8. PO (Persistent Object) 持久化对象
-
一个PO=数据库中的一条记录
-
优点:可以把一条记录作为一个对象处理,可以方便的转为其他的对象。
例如我们有一条数据,现在有一个简单类而且已经是被赋予了这条数据的实例,那么目前这条数据在这个简单类的存在状态就是PO,不管这个简单类是DO还是BO还是其他。PO只是数据持久化的一个状态。
9. Entity 实体
- 是一个未被持久化的对象,是一个从现实抽象到代码的类
10. Model (概念实体模型) 实体类和模型
- 一个三层架构中的实体类
- 在MVC(模型Model+视图View+控制器Controller)模式中,Model代表模型,是业务流程/状态的处理以及业务规则的规定,接受视图请求的数据,并返回最终的处理结果。业务模型设计可以说是MVC最主要的核心
11. View (概念视图模型) 视图模型
- 在MVC(模型Model-视图View-控制器Controller)模式中,View代表视图,用来解析Model带来的数据模型,以展示视图数据,View的模型觉决定了需要什么样的Model来对接,相互联系。
文章来源:超级详细的解析