我希望有两个彼此独立的类。内容类型和URL。 URL将具有conent类型。
我可以在内容类型中添加一个可以轻松查询的摘要字段(例如,内容类型X有10个URL),还是我需要查询所有的URL并以这种方式提取内容类型?
URL也可以与其他类(不仅仅是这种内容类型)相关联,这就是为什么我不创建内容类型的超类,然后是子URL类。
答案 0 :(得分:0)
这取决于。基本上你要问的是:给定一个1:n关系,我怎样才能自动查询两个方向?
如果您使用数据库来存储数据,大多数对象关系映射器都会免费为您提供此功能。如果你不这样做,你需要自己处理它。
有各种选择。最简单的方法是迭代所有URL并过滤与查询内容类型匹配的URL。这很可能是某个容器的责任。此变体非常易于实现,但需要O(number of URLs)
时间来执行查询。因此,如果您只有几个网址,这可能就是您的选择。
另一种选择是明确存储反向关系。直接在内容类型中或在容器中(例如在哈希映射内)。这种方法的主要问题是保持两对关系同步。您可以使用URL的内容类型属性的setter来更新内容类型的URL属性。同步关系的任务也可以移交给容器。无论如何,这个选项明显更快,但需要一些编程工作。根据您的具体情况,这可能或多或少有效。