设计模式以截断大对象图

时间:2012-10-16 17:09:21

标签: java object graph

使用Java,我有一个非常大的对象图,其中一个对象与许多其他对象相关联,每个对象都与许多其他对象相关联。大多数时候,我只需要一个子图传递给一个方法或通过网络发送。

是否有推荐的设计模式,因此我可以在图中的许多点截断这个大对象图。一种方法是在截断的所有点提供NULL作为参考。我很欣赏其他任何想法。

由于

3 个答案:

答案 0 :(得分:1)

如果我理解你的错误,你可以使用Lazy Factory 当使用您现在不需要的关联映射对象时,通常会使用此策略,根本不需要。 (它广泛用于Hibernate ORM) 当您想要通过网络发送大型对象时,可以使用代理模式。

答案 1 :(得分:0)

一个选项是用Node对象构建你的图形(正如你现在所做的那样),然后截断图形,用Graph对象封装它,该对象将图形存储为成员,提供自己的运行界面图表上的操作,并在内部使用要从图中删除的节点表。

这种方法的好处是你不会改变原始图形对象本身,也不必复制它。

答案 2 :(得分:0)

对于这类问题,

Proxy Pattern是一个很好的设计模式。