首页 新闻 会员 周边 捐助

关于Dto更新序列化和反序列化的问题

0
悬赏园豆:5 [已解决问题] 解决于 2016-06-30 13:21
 最近一直在纠结这个问题哈,假设我一个Test模型里面有100个属性,转化为TestDto传送到前端,前端只修改了一个属性,然后TestDto又回传到服务端,服务端的序列化和反序列化不是很耗资源的嘛,还有更新操作,是刷新的所有字段吧?
请问该如何进行优化?
waleswood的主页 waleswood | 初学一级 | 园豆:198
提问于:2016-06-16 10:59
< >
分享
最佳答案
0

最近一直在纠结一个问题,假设我是马云,有好多人民币,转成美金到国外投资,只赚了十几亿美金,然后要换回人民币,银行换汇手续费好贵的,请教我是不是现在开个银行先,然而国家还要收税,算了,到太平洋买个岛屿,建个独立国家好了。

 

1、不要过早优化!

2、任何代码都要消耗资源的,没有不消耗资源的代码,只有合理消耗资源的代码。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2016-06-16 11:12

你的意思是这样合理吗?

waleswood | 园豆:198 (初学一级) | 2016-06-16 12:37

@waleswood: 大叔的意思可能是,如果当前代码造成的资源消耗在可承受的范围之类的话,先不要急着优化,因为过早优化可能需要更多的代价

jello chen | 园豆:7336 (大侠五级) | 2016-06-16 14:06

@jello chen: 大叔的意思我明白,我的意思是如果优化的话,该如何优化?技术探讨

waleswood | 园豆:198 (初学一级) | 2016-06-16 15:01
其他回答(1)
0

看你的描述你做的这个东西貌似想做一个db的中间件,针对这个大方向建议前期调查好为妙,而且我觉得一个对象就上百的字段这个也不太可能,而且要选择好序列化方式。

如果你非要这样做的话可以让这个对象去实现ISerializable接口,然后自己把信息一点点的塞进去(序列化)。

添加protected的构造函数(SerializationInfo info, StreamingContext context),自己再从info中把信息一点点的回写到属性上(反序列化)。

这种方式和protobuffer或thrift追求性能方法是一致的,性能会比较好。

退一步说,就算是直接用默认的序列化方式性能也不低的,只可能在带宽上开销大点。

 

应用端修改不需要全部回传,只需要回传他修改的信息和对象标识即可。

 

 

Daniel Cai | 园豆:10424 (专家六级) | 2016-06-16 20:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册