CSDN热搜
前阵子晓凡的粉丝朋友面试,被问到“什么是VO?和DTO有啥区别?” 粉丝朋友:“VO就是Value Object,DTO就是Data Transfer Object……” 面试官点点头:“那你说说,一个下单接口里,到底哪个算VO,哪个算DTO?” 粉丝朋友有点犹豫了。
它们都是“为了隔离变化”而诞生的马甲
用户下一单“芋泥波波奶茶”
PO是Persistent Object的简写 PO 就是“一行数据一个对象”,字段名、类型和数据库保持一一对应,不改表就不改它。
DO 是“有血有肉的对象”,它把业务规则写成方法,让代码自己说话。
BO 是“场景大管家”,把多个 DO 攒成一个用例,常出现在 Service 层。
DTO 是“网络快递员”,字段被压缩成最少,只带对方需要的数据。
VO 是“前端专属快递”,字段可能二次加工,甚至带 HTML 片段。
数据库里叫 PO,业务里是 DO,编排靠 BO,网络走 DTO,前端看 VO。
使用道具 举报
本版积分规则 回帖并转播 回帖后跳转到最后一页
程序园优秀签约作者
0
粉丝关注
19
主题发布