后端DTO(数据传输对象)与DO(数据库数据源对象)解耦的好处

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15037231/article/details/84502801

我们在后端的开发中经常会将DO对象传到Service层直接作为DTO传给前端,这样做其实会有很多弊端。

(一)DO对象一般其成员域和数据库字段是对应的,所以不能添加额外的字段,但是有时候端就是需要这个字段。反之前端要向后端传一些额外的字段,DO也没办法接受,前端的Form表单不可能和数据库共用同一套数据对象。

(二)DO可能是由框架控制生命周期的,比如hibernate,如果他的某个属性是懒加载的,那万一不在session中调用的话会抛出异常。而DTO对象很干净,你可以自己控制DTO,喜欢就存在缓存里,不喜欢也没关系。同时DO对象如果属性变化的话会有是否需要同步更新数据库的问题,而业务上DTO和DO并无关联。

猜你喜欢

转载自blog.csdn.net/qq_15037231/article/details/84502801
今日推荐