期望薪资15k,不知vo和dto有何区别,能不能要?

分享职场生活、职场攻略、程序员创业资源,为一线开发者提供优质内容

有一位java求职者,三年工作经验,面试时问到VO和DTO有什么区别,他回答不出来,知识面挺广的,就是不够深入,薪资要15k,能不能要?

1、PO (Persistent Object)entity实体 里的每一个字段,与数据库表的字段相对应,

2、VO 有两种理解,个人倾向第二种

  • VO:值对象(Value Object) 通常用于业务层之间的数据传递

  • VO (View Object)表现层对象,主要对应展示界面显示的数据对象,用一个VO对象来封装整个界面展示所需要的对象数据。

3、DTO 数据传输对象(Data Transfer Object)是一种设计模式之间传输数据的软件应用系统。用来转换从 entity 到 VO,或者从 VO到 entity 的中间的东西 。

举个例子来说明:

Web页面上有三个信息要展示,username,remark,gender

而数据库表里,有两个字段,userName,remark, 没有 gender。

这是VO一般有三个成员变量来对于Web的三个信息。

private String userName;private String remark;private String gender;

而 entity有两个成员变量 ,因为对应数据库表中的两个字段 。

private String userName;private String remark;

这时如果我们要统计女性用户比例多少,可以利用DTO重新封装一层。

首先从页面上拿到 vo,然后判断 vo 中的 gender是不是为0 ,假如0 表示女性。

如果是0,就把 vo 中的 userName和 remark,放到 dto 中。

然后再把 dto 中的 userName和 remark传给 entity,然后根据 entity 的值,再入库到数据库。

Entity实体,和PO的功能类似,和数据表一一对应,一个实体一张表。

个人认为,要是该求职者综合能力不错,而只是不知VO和DTO有什么区别,是可以考虑的,要是你是面试官,你会考虑吗?

-END-

技术交流、媒体合作、品牌宣传,请加小爱微信: iyiyouyou

往期推荐

马云:现在是创业的最好时机

更多精彩,请扫二维码关注小爱

猜你喜欢

转载自blog.csdn.net/X8i0Bev/article/details/108860161