2009-09-03 9 views
0

Je suis en train de construire et de trier des lecteurs RSS dans Java comme mon premier programme orienté objet et j'adorerais quelques conseils de conception OO.Java Program Structure Advice

J'ai une classe Reader avec une liste d'objets Flux pour les flux RSS, et chaque flux télécharge les éléments d'actualité dans les objets Article dans une liste Articles.

Ce que je veux faire est de trouver un moyen de relier des articles provenant de sources multiples. Pour ce faire, chaque article a un HashSet de ses mots-clés, et je voudrais comparer les mots-clés de tous les articles les uns par rapport aux autres et tenir compte de leurs mots-clés correspondants. Si le compte entre deux articles est assez élevé, je voudrais les grouper dans la sortie.

Qu'est-ce qu'un moyen efficace de faire une comparaison «plusieurs-à-plusieurs» (?) Des articles et de suivre les scores relatifs?

Répondre

2

Une approche courante dans les bases de données est d'avoir un objet "linking" (communément appelé "table de liens" dans le langage de la base de données) qui lie les objets ensemble. Dans ce cas, vous pourriez avoir un objet "flux liés" qui relierait les éléments qui étaient liés, peut-être à quel point ils étaient proches et les mots communs, etc. Sans en savoir plus sur ce que vous voulez faire spécifiquement, il est difficile pour en dire plus, mais en général les objets de liaison sont utilisés pour décrire la relation entre deux objets - dans ce cas, le pourquoi de la façon dont ils sont liés, et pas seulement qu'ils sont liés.

+0

Je l'ai fait dans un DB avant, mais je suis confus sur la façon de le faire dans un manoir Java/OO. J'utilise un LinkedList pour contenir des flux, qui ont une LinkedList pour contenir des articles, qui contiennent un ensemble de mots-clés. Mes idées sont dispersées, mais je réfléchis actuellement: * Chaque article devrait-il contenir une liste d'autres articles qu'il contient? Comment ajouter un nombre de correspondances de mots en tant que score? * Devrait-il y avoir une nouvelle classe d'ArticleLinks qui a deux objets d'article et un score de correspondance de mots? Est-ce que cette liste devrait être plutôt? Finalement, je dois être en mesure de trier tous les articles par leurs scores – Mobs

+0

Pas tout à fait sûr, bien que si vous voulez garder l'information "lien", une classe de liaison qui décrit la relation est probablement votre meilleur pari. – aperkins

+0

merci, je vais essayer. – Mobs

Questions connexes