2009-09-03 83 views
0

我在Java中構建和排序了RSS閱讀器,作爲我的第一個面向對象的程序,並且會喜歡一些面向對象的設計技巧。Java程序結構建議

我有一個Reader類,有一個RSS feed的Feed對象列表,每個Feed將新聞項下載到Articles列表中的Article對象。

我想要做的是找到一種方法來關聯來自多個來源的文章。要做到這一點,每篇文章都有一個關鍵字的HashSet,並且我想比較所有文章的關鍵字並保持對其匹配關鍵字的計數。如果兩篇文章之間的數值很高,我想將它們分組在輸出中。

什麼是對文章進行「多對多」(?)比較並追蹤相關分數的有效方法?

回答

2

數據庫中常見的方法是使用鏈接對象(通常稱爲數據庫術語中的「鏈接表」),將對象鏈接在一起。在這種情況下,你可能會有一個「相關的feed」對象,它們會將相關的元素,可能與他們的關係密切相關,以及常用詞等等連接在一起。如果不知道更多關於你想要做什麼的具體內容,那很難要說更多,但一般來說鏈接對象是用來描述兩個對象之間的關係 - 在這種情況下,爲什麼爲什麼它們是如何相關的,而不僅僅是它們是相關的。

+0

我已經在數據庫中完成了這項工作,但是我對如何在Java/OO莊園中完成這項工作感到困惑。 我正在使用一個LinkedList來包含Feeds,它有一個LinkedList來包含文章,其中包含一組關鍵字。 我的想法很分散,但我目前正在思考: *每篇文章是否應該包含一個列表,並將其匹配的其他文章添加到列表中?我如何添加一個單詞匹配計數作爲分數? *是否應該有一個新的文章鏈接類,有兩個文章對象和單詞匹配分數?這應該是列表嗎? 最終我需要能夠按照他們的分數對所有文章進行排序 – Mobs 2009-09-03 02:59:32

+0

不完全確定,但如果您想保留「鏈接」信息,描述關係的鏈接類可能是您最好的選擇。 – aperkins 2009-09-03 03:40:52

+0

謝謝,我會放棄它。 – Mobs 2009-09-03 03:42:48