例如,要实现状态效果(例如中毒),Player对象将具有执行每个游戏回合的闭包列表.保存游戏时必须将这些序列化.
将闭包存储在需要序列化的对象中通常是个好主意吗?或者我应该选择更传统的架构(例如存储StatusEffect对象列表)?
解决方法 有一个关闭执行每个游戏的闭包列表听起来像一个非常好的主意:-)Serialising Closures是完全可能的.从Groovy 1.8.5开始,随着两个方法dehydrate
和rehydrate
被添加到Closures(以便在序列化之前可以剥离所有者,thisObject和delegate),它变得更容易了.
但是我在本机java序列化方面遇到了保存数据的问题.为了在系统之间发送短期数据,它可能很棒(但即便如此,我会看看protocol buffers或thrift)
考虑如果您需要更新游戏会发生什么?如果中毒影响中存在错误,则每个用其保存文件中的错误中毒闭包保存的用户将保留该错误,直到它消失为止.在多人游戏中,人们也可以 *** 纵他们的保存游戏文件以给自己带来意想不到的或不需要的权力(因为权力本身的功能将存储在文件中).我可以看到 *** 纵毒药影响所以它增加惠普而不是删除它们可能是有益的;-)
简而言之,我想我所说的是我会写出一个字符表,其中包含影响用户,库存,分数等的ID,然后在读入文件时检查并应用闭包.
总结以上是内存溢出为你收集整理的在groovy中序列化闭包全部内容,希望文章能够帮你解决在groovy中序列化闭包所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)