OOP 关联:如何防止从 Rel DB 向对象读取数据时出现多个对象引用



我正在我公司的软件解决方案中设计一种OO方法,我不确定如何"一致地"保存数据,防止创建相同的对象,在哪里保存我的对象引用,...

一般来说,我有一个合约池和属于该合约池的账户。两者都可以在没有彼此的情况下存在(关联)。在特定情况下,账户可以属于多个合约池。

  1. 两个类中保存引用是否是数据不一致的良好解决方案。(A指B,B不指A)
  2. 我需要双方的实例化。
    • 帐户->Get_Parents()
    • ContractPool->Get_Members()
  3. 有没有办法防止创建相同的对象。示例:ContractPool->Get_Members() 当这些调用触发数据库时,我得到的 ID 基于该 ID 实例化合约池/帐户。

如果我在错误的地方发帖,请引导我到适当的地方。

如果需要更多信息,我很乐意提供。

提前感谢,汤姆

编辑

这个问题/答案:stackoverflow.com/questions/16732607/... 以及: agiledata.org/essays/mappingObjects.html

清晰地概述如何完成实现映射。因此,主要问题是:

"如何防止对同一对象的多次引用。">

示例:如果我读取帐户的合约池。之后检索合约池的成员,我希望预先存在的帐户的引用相同。

但是,我根据ID从数据库中读取了此日期。所以我不是纯粹地将其添加到数组中。

您的问题不是很清楚,但我认为您希望确保合约池对象引用的帐户对象与之前实例化的帐户对象相同,而不是新的。

如果是这样,您需要做的就是先实例化账户对象,然后将它们关联到它们所属的相应合约池对象。

很抱歉,我无法给出更完整的答案,因为您的问题不够具体。

最新更新