假设我有两个依赖于彼此或其他对象的对象(因此使用对这些对象的引用),我需要从/向磁盘保存/恢复它们的“状态”。由于存储指向磁盘的指针在恢复时不会产生正确的结果,我们如何在恢复时保持依赖正确?
如,
class A {
B b;
}
class B {
{
A a;
}
(或更复杂的链,可能有n个循环的依赖)
a a =反序列化(Adata) B b =反序列化(Bdata)
(假设我们需要a.b = b和b.a = a)
我认为对于具有惰性评估的对象具有独特的哈希值可以解决问题,但也许有更好的方法? (如果我有一个唯一的哈希,那么很容易找到要使用的对象,也可以保存和恢复对象(基本上哈希充当指针但总是有效的(因为它是唯一的,永远不会改变))