一前言.
PO、DO、TO、VO、DO、DTO、DAO、POJO都是什么呢?
第一次听说这个的小伙伴可能优点头大,这些都是什么呢?为什么要进行区分呢?都有什么作用呢?今天就来介绍一下.
为了项目能够更清晰的分层,我们将不同的对象按照其功能进行划分,也就出现了各种各样的对象类型,在Java中常用的有这些:PO、DO、TO、VO、DO、DTO、DAO、POJO
二.具体介绍
-
PO(persistant object) 持久对象
真正和数据库中的表字段进行映射的对象,对象属性通常和数据库中表字段保持一致.PO 中应该不包含任何对数据库的操作。 -
DO (Domain Object )领域对象
抽取业务中的一些概念形成的对象
也就是就是从现实世界中抽象出来的有形或无形的业务实体。 -
TO(Transfer Object) ,数据传输对象
不同的应用程序之间传输的对象
比如说不同微服务中进行调用,要传输数据,这些被封装或发送的对象就是数据传输对象. -
DTO (Data Transfer Object )数据传输对象
这个概念来源于 J2EE 的设计模式,原来的目的是为了 EJB 的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,泛指用于展示层与服务层之间的数据传输对象。 -
VO(value object) 值对象
通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已。但应是抽象出的业务对象 , 可以和表对应 , 也可以不 , 这根据业务的需要 。
在Java中更好理解的就是这样一种解释:View object:视图对象,通常也可以这样理解.主要的作用有两个.
接受页面传递来的数据,封装成对象
将业务处理完成的对象,封装成页面要用的数据,返回出去 -
BO(business object) 业务对象
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个 PO ,工作经历对应一个 PO ,社会关系对应一个 PO 。把他们三个合起来就组成了一个BO,就是一个简历的业务对象. -
POJO(plain ordinary java object) 则 简单无规则 java 对象
就是一个普通的Java对象,我们可以把以上所有的O(object)都成为POJO.
POJO 是 DO/DTO/BO/VO 的统称。 -
DAO(data access object) 数据访问对象
就是我们最常见的Controller,service,dao层,负责与数据进行交互.
是一个 sun 的一个标准 j2ee 设计模式, 这个模式中有个接口就是 DAO ,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合 VO, 提供数据库的 CRUD 操作.
今天的分享就到这里了,有问题可以在评论区留言,均会及时回复呀.
我是bling,未来不会太差,只要我们不要太懒就行, 咱们下期见.