gpt4 book ai didi

GWT-RPC 和不可变传输对象

转载 作者:行者123 更新时间:2023-12-01 01:28:43 25 4
gpt4 key购买 nike

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

另一方面,我知道我应该“最小化可变性”。我的倾向是希望我的 TO 是不可变的,具有最终字段、没有默认构造函数和修改器。

如何在尽可能尊重不可变范式的同时使用 GWT-RPC。我是否必须转换为可变对象才能编码,然后再转换回不可变对象(immutable对象)?这还值得吗?

最佳答案

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

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

关于GWT-RPC 和不可变传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6146855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com