用惯了VO,什么时候需要DTO?
PO, VO, DTO 等对象,如果在一次接口请求中都使用的话,会很复杂繁琐,通常都是相同的字段直接做映射,没有什么变化,所以,很多人会觉得没什么必要。
当从 DB 中查出的对象需要再改变下对象结构,才能返回给前端使用时,那么,只使用 VO 的话,就搞不定了。
ORM 框架查出的 DB 数据先映射到 DTO 上,再将 DTO 转换成 VO 返回给前端。
比如下面这种展示结构,从 DB 中查出来可能是一个大的列表,包含了所有的指标和对应的 Top3,但是在前端是分组展示的,如果直接将DB 中查出的对象返回给前端,前端就需要处理数据的分组,如果想简化前端的操作,那么就需要按页面上的结构来重新组织下返回对象,即:DTO -> VO