2009-09-03 9 views
0

私は最初のオブジェクト指向プログラムとしてJavaでRSSリーダーを構築し、並べ替えています。いくつかのオブジェクト指向設計のヒントが大好きです。Javaプログラムの構造の助言

私は、RSSフィード用のフィードオブジェクトのリストを持つReaderクラスを持っており、各フィードは記事リスト内の記事オブジェクトにニュースアイテムをダウンロードします。

私がしたいことは、複数のソースから記事を関連付ける方法を見つけることです。これを行うには、各記事にキーワードのHashSetがあります。記事のキーワードをすべて比較し、一致するキーワードを数えたいと思います。 2つの記事の数がかなり多い場合は、それらを出力にまとめたいと思います。

記事とトラックの相対スコアを「多対多」(?)で比較する効率的な方法は何ですか?

答えて

2

データベースの一般的なアプローチは、オブジェクトを一緒にリンクする「リンク」オブジェクト(データベース用語集では「リンクテーブル」と呼ばれます)を持つことです。この場合、関連する要素、それらがどれほど密接に関連していたか、一般的な言葉などをリンクする「関連フィード」オブジェクトがあるかもしれません。あなたが具体的に何をしたいかについてもっと知ることなく、それは難しいしかし、一般的には、オブジェクトを2つのオブジェクトの間の関係を記述するために使用しています - この場合、なぜそれらが関連しているかだけでなく、それらが関連している方法の。

+0

私は前にDBでこれを行っていましたが、私はJava/OOマナーでこれを行う方法について混乱しています。 私はLinkedListを使用してフィードを保持しています。フィードには、キーワードを含む記事を含むLinkedListがあります。 私のアイデアは散在していますが、私は現在熟考しています: *それぞれの記事に、それにマッチする他の記事のリストが含まれていますか?単語の一致をスコアとして追加するにはどうすればよいですか? * ArticleLinksには2つの記事オブジェクトと単語一致スコアを持つ新しいクラスが必要ですか?これは代わりにリストされるべきですか? 最終的にはすべての記事をスコアで並べ替えることができる必要があります – Mobs

+0

"リンク"情報を保持したい場合は、関係を説明するリンククラスがおそらく最善の策です。 – aperkins

+0

ありがとう、私はそれを行ってあげるよ。 – Mobs