当前位置:网站首页>PO、DO、TO、VO、DO、DTO、DAO、POJO都是什么?
PO、DO、TO、VO、DO、DTO、DAO、POJO都是什么?
2022-08-09 13:04:00 【程序员bling】
一前言.
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,未来不会太差,只要我们不要太懒就行, 咱们下期见.
边栏推荐
猜你喜欢
Unicom network management protocol block diagram
How to reduce the size of desktop icons after the computer is reinstalled
面试攻略系列(三)-- 高级开发工程师面试问些啥?
群组行动控制--自动队列化实现策略
Come and throw eggs.
GET POST PUT DELETE request in GIN
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
How to solve the 0x80070005 error when the computer is reinstalled and the system is restored
WSA toolkit installed app store tip doesn't work how to solve?
面试攻略系列(二)-- 秒杀系统
随机推荐
Q_06_05 文件结构
【FPGA教程案例48】图像案例8——基于FPGA的RGB图像转化为HSV图像的实现,通过MATLAB进行辅助验证
Professor Chen Qiang's "Machine Learning and R Application" course Chapter 16 Assignment
Map mixed density function and quantile added line
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
自己做了个nodejs+epxress+mysql的小项目,怎么才能让别人通过互联网访问呢?
5G China unicom 直放站 网管协议 实时性要求
GIN a preliminary study, the environment is installed
5G China unicom AP:B SMS ASCII Transcoding Requirements
Bitmaps and bit operations
Professor Chen Qiang's "Machine Learning and R Application" course Chapter 13 Assignment
面试攻略系列(三)-- 高级开发工程师面试问些啥?
为什么文字不贴合边
NC53 删除链表的倒数第n个节点
Microsoft 10/11 命令行打开系统设置页(WUAP,!WIN32)
GIN Bind模式获取参数和表单验证
搭建大型分布式服务(二)搭建会员服务
微服务+微信小程序实现社区服务
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(循环不变量)
群组行动控制--自动队列化实现策略