首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT-RPC和不可变传输对象

GWT-RPC和不可变传输对象
EN

Stack Overflow用户
提问于 2011-05-27 09:20:16
回答 1查看 779关注 0票数 4

GWT-RPC要求将传输对象序列化为must have a default (zero-argument) constructor。类似地,最终字段不会被序列化(参见问题1054)。

另一方面,我知道我应该“最大限度地减少可变性”。我倾向于希望我的TOs是不可变的,有final字段,没有默认的构造函数,也没有赋值函数。

如何在尽可能尊重不可变范式的同时使用GWT-RPC。我必须转换成一个可变的对象,然后再转换回一个不可变的对象吗?这样做值得吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-27 09:43:18

Effective Java中的第13项(第二版中的第15项)给出了如何最小化可变性或支持不变性的策略。

假设我们删除了修饰符,但保留了非final字段和一个默认构造函数。其效果将是一个理论上可变的对象,但实际上是一个不可变的对象。是的,我们可以通过反射来改变对象,但是通过简单地关闭暴露的方法,我们至少可以阻止在这样的情况下改变它,因为在这种情况下,使对象真正不可变是不切实际的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6146855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档