java - 如何定义一个 "Savable"接口(interface),允许实现类通过任何所需的方法保存?

标签 java serialization

我正在为一个类(class)项目制作一个游戏,教授说他希望我们实现某种形式的功能来保存游戏状态,并且我应该能够插入任何“类型”的保存为期望的——无论是使用序列化对象、xml、数据库等...建议有一个主接口(interface)并有几个使用各自方法保存的实现类...但我不确定如何实际解决这个问题.

首先,我对哪些类将实现此接口(interface)感到困惑。一切都会是我的对象吗?或者是那些负责保存数据的类?是每个对象负责保存自己的数据,还是由一个主类负责保存所有对象的数据?我应该使用抽象类吗?另外,在我看来,我的每个对象都必须实现 Serializable以防万一使用这样的方法,即使它不会......

我不需要代码方面的帮助,因为我需要帮助理解这个最有效的设置的结构。我需要确保一切都尽可能模块化,因为在这个项目中我必须应用软件工程的许多原理来制作“伟大的软件”...

最佳答案

您正在考虑的界面已经存在:java.io.Externalizable

此接口(interface)扩展了Serialized,以允许实现者控制用于存储对象的格式。

但是,Serialized 可能对您来说已经足够了;只需标记不需要保存的字段transient即可。

关于java - 如何定义一个 "Savable"接口(interface),允许实现类通过任何所需的方法保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20130407/

相关文章:

c# - 使用 Json.net 解析 JSON

php - 如何修复由于单引号前删除斜杠而损坏的序列化字符串?

Java 8 流 : replace single item in streamed collection

java.sql.SQLSyntaxErrorException : ORA-01729: database link name expected while using Java stored procedure

java - 反序列化一组枚举以用作标志

python - djangorest框架-全局默认模型序列化器

c# - XML 到 C# 类

java - 在java中运行时编译jasperreport子报表

java - 将分层列表转换为java中的平面列表

java - Android DocumentFile 无效的 URI