2015-12-05 34 views
0

我想要有兩個彼此獨立的類。內容類型和網址。一個URL將有一個固定類型。OO編程:對象摘要

我可以在內容類型中添加一個可以輕鬆查詢的摘要字段(例如,內容類型X有10個URL)嗎?還是需要查詢所有的URL並以這種方式提取內容類型?

一個URL也可以與其他類(不僅僅是這個內容類型)相關聯,這就是爲什麼我不創建內容類型的超類,然後是一個子URL類。

回答

0

這取決於。基本上你問的是以下內容:給定一個1:n的關係,我該如何自動查詢兩個方向?

如果您使用數據庫來存儲數據,大多數對象關係映射器將免費提供此功能。如果你不這樣做,你需要自己處理。

有多種選擇。最簡單的方法是遍歷所有URL並過濾與查詢的內容類型相匹配的URL。這很可能是某個容器的責任。這個變體很容易實現,但需要O(number of URLs)時間來執行查詢。所以如果你只有幾個網址,這可能是一條路。

另一種選擇是顯式存儲反比關係。直接在內容類型或容器中(例如在散列圖中)。這種方法的主要問題是保持兩對關係同步。您可以使用URL的內容類型屬性的setter來更新內容類型的URL屬性。同步關係的任務也可以交給一個容器。無論如何,這個選項要快得多,但需要一些編程工作。根據你的具體情況,這可能或多或少的工作。