使用Java,我有一个非常大的对象图,其中一个对象与许多其他对象相关联,每个对象都与许多其他对象相关联。大多数时候,我只需要一个子图传递给一个方法或通过网络发送。
是否有推荐的设计模式,因此我可以在图中的许多点截断这个大对象图。一种方法是在截断的所有点提供NULL作为参考。我很欣赏其他任何想法。
由于
答案 0 :(得分:1)
如果我理解你的错误,你可以使用Lazy Factory 当使用您现在不需要的关联映射对象时,通常会使用此策略,根本不需要。 (它广泛用于Hibernate ORM) 当您想要通过网络发送大型对象时,可以使用代理模式。
答案 1 :(得分:0)
一个选项是用Node对象构建你的图形(正如你现在所做的那样),然后截断图形,用Graph对象封装它,该对象将图形存储为成员,提供自己的运行界面图表上的操作,并在内部使用要从图中删除的节点表。
这种方法的好处是你不会改变原始图形对象本身,也不必复制它。
答案 2 :(得分:0)
Proxy Pattern是一个很好的设计模式。