【发布时间】:2009-11-28 21:47:06
【问题描述】:
我有一个 java 模型,其中类具有应该双向工作的关联(1 到 1、1 到 n、n 到 n)。
示例: A 类有 B 类的集合
B 的所有实例都必须知道它们的父 (A) 是谁。如果我更改了 B 的父属性,则关联也需要在另一侧进行更新。
我认为,编写代码来使两端的关联保持最新是相当乏味且容易出错的。
那么:有没有更好的方法来做到这一点?是否有可以管理两个对象之间双向关联的 java 库?
【问题讨论】:
-
“我认为,编写代码来使两端的关联保持最新是非常乏味且容易出错的。”你为什么这么说?这通常一点也不难。
-
乏味,因为我必须向所有模型类添加相同的功能。我觉得这是一个相当重复的工作。容易出错,因为我必须记住一些特殊情况。例如。如果我将 B 的父级设置为 A 的另一个实例(将 B 从一个 A 转移到另一个)会发生什么。我必须确保删除旧链接。但是,如果我第二次设置同一个父级怎么办。那么代码不应该触及已经存在的链接。等等当然不是不能做对,但是如果这个问题已经有了解决办法,那我为什么要重新发明轮子呢?
标签: java