void和float区别(每日分享你真的理解VO)

点击上方"java全栈技术"关注,每天学习一个java知识点,接下来我们就来聊聊关于void和float区别?以下内容大家不妨参考一二希望能帮到您!

void和float区别(每日分享你真的理解VO)

void和float区别

点击上方"java全栈技术"关注,每天学习一个java知识点

开发中很多时候我们会根据类型的含义按照既定的规则进行命名,其中比较常见的有 PO、VO、DAO、BO等。这篇文章聊聊这些缩写的含义,希望对您有帮助。

缩写的含义

PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

DAO 是 Data Access Object 的缩写,用于表示一个数据访问对象。使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。

VO 是 Value Object 的缩写,用于表示一个与前端进行交互的 java 对象。有的朋友也许有疑问,这里可不可以使用 PO 传递数据?实际上,这里的 VO 只包含前端需要展示的数据即可,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

试想一下,如果没有 VO 和 PO 的区别,那么数据库表结构的所有字段就一览无余地展示到了前端,给后台安全带来很大的隐患,并且无法在网络传输中剥离冗余信息提高了用户的带宽成本。

实例

以一个实例来探讨下 POJO 的使用。假设我们有一个面试系统,数据库中存储了很多面试题,通过 web 和 API 提供服务。可能会做如下的设计:

数据表:表中的面试题包括编号、题目、选项、答案、创建时间、修改时间;

PO:包括题目、选项、答案、创建时间、修改时间;

VO:题目、选项、答案、上一题URL、下一题URL;

DTO:编号、题目、选项、答案、上一题编号、下一题编号;

DAO:数据库增删改查方法;

BO:业务基本操作。

可以看到,进行 POJO 划分后,我们得到了一个设计良好的架构,各层数据对象的修改完全可以控制在有限的范围内。

本文转载公众号:程序之心

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页