【发布时间】:2012-10-16 17:09:21
【问题描述】:
使用 Java,我有一个非常大的对象图,其中一个对象与许多其他对象相关联,每个对象都与许多其他对象相关联。大多数时候,我只需要一个子图来传递给方法或通过网络发送。
是否有推荐的设计模式,以便我可以在图中的许多点截断这个大对象图。一种方法是在所有截断点提供 NULL 作为参考。如果有任何其他想法,我将不胜感激。
谢谢
【问题讨论】:
-
您不需要设计模式(就 GoF 而言),但需要适当的图表示(数据结构),它提供截断和其他(子)图操作的算法。您当前的数据结构是什么?
-
对象结构由许多领域对象组成。每个对象都与一个或多个其他域对象相关,并且这种关系一直延续下去。一个示例域可以从一个组织开始,它与它的人员、它拥有的各种属性、它购买、销售的产品等的链接 - 一个大型的相互关联的类图。
-
如何指定子图?您的子图是否包含一组节点对象?
-
您的用例听起来像是对数据库的使用,您可以在其中使用 SQL 子句
WHERE过滤子集。也许graph database 比较合适。