【发布时间】:2014-01-07 13:28:13
【问题描述】:
我需要持久化对象,并且我想让我的数据类尽可能干净。持久化的类没有任何业务逻辑代码,只有带有 getter/setter 的数据。
我目前正在使用观察者模式实施解决方案。每次修改 Observable 持久对象时,它都会向负责持久性的 Observer 对象发送一条消息。这样,持久对象的唯一约束是“可观察”。它可以保持清洁。
另一个解决方案(也许更好?)是实现一些 DAO 模式,我不太了解它的工作方式。也许它看起来像persistedObject.save(); 或persistedObject.readById(id);。但这意味着我必须定义一些 DAO 接口,然后在每个持久化类中实现读取/创建/更新/删除方法
【问题讨论】:
-
请澄清问题。您可以持久保存到文本文件、数据库、工业级云......除非您提供更多关于您的需求的背景知识,否则通常没有“最佳持久性”。你需要做什么?。
-
目前,我的意图是使用 XML 序列化将对象持久化到文件中。但将来我也可能会使用数据库存储。这就是为什么我需要使用一些 CRUD 松散耦合模式来实现不同的存储访问方式(文件存储、数据库存储等......)
-
如果你打算使用 XML 序列化,我建议使用 JAXB
标签: java design-patterns persistence dao