2009-09-03 5 views
0

Я создаю и сортирую читателя RSS в java как свою первую объектно-ориентированную программу и хотел бы получить некоторые советы по дизайну OO.Совет по программированию на Java

У меня есть класс Reader со списком объектов Feed для RSS-каналов, и каждый Feed загружает новостные статьи в объекты Статьи в списке статей.

Что я хочу сделать, это найти способ связать статьи из разных источников. Чтобы сделать это, каждая статья имеет HashSet своих ключевых слов, и я хотел бы сравнить все ключевые слова статьи друг против друга и сохранить количество соответствующих ключевых слов. Если счет между двумя статьями достаточно высок, я бы хотел сгруппировать их в вывод.

Что такое эффективный способ сопоставления статей «со многими для многих» (?) И отслеживания относительных баллов?

ответ

2

Общим подходом в базах данных является наличие «связующего» объекта (обычно называемого «таблицей ссылок» в языке базы данных), который связывает объекты вместе. В этом случае у вас может быть объект связанных с ним источников, который бы связывал связанные элементы, возможно, насколько тесно они были связаны, а также общие слова и т. Д. Не зная больше о том, что вы хотите сделать конкретно, это сложно чтобы сказать больше, но в целом связующие объекты используются для описания взаимосвязи между двумя объектами - в этом случае почему того, как они связаны, а не только того, что они связаны.

+0

Я уже делал это в БД, но я смущен тем, как это сделать в усадьбе Java/OO. Я использую LinkedList для хранения фидов, у которых LinkedList содержит статьи, содержащие набор ключевых слов. Мои идеи разбросаны, но я в настоящее время размышляю: * Если каждая статья содержит список с другими статьями, которые он соответствует этому дополнению? как я могу добавить количество совпадений слов как счет? * Должен ли быть новый класс ArticleLinks, который имеет два объекта статьи и оценку совпадения слов? Должен ли это быть список вместо этого? В конечном счете, я должен уметь сортировать все статьи по их оценкам – Mobs

+0

Не совсем уверен, хотя, если вы хотите сохранить информацию о «ссылке», класс ссылок, который описывает отношения, вероятно, будет вашим лучшим выбором. – aperkins

+0

спасибо, я отдам его. – Mobs

Смежные вопросы