Дизайн БД для импорта данных от нескольких поставщиков? - PullRequest
0 голосов
/ 21 июня 2010

Мне нужно создать базу данных новостей, которая потенциально будет принимать новости от разных провайдеров и отображать их на нашем сайте.Прямо сейчас я думаю, что мне нужно просто придумать, как это будет выглядеть на нашем сайте, какие поля мы будем отображать, а затем, когда появится новый провайдер, исправить сценарий, который будет анализировать их данные в нашем формате.Это лучше, или я должен точно скопировать их данные, а затем отобразить более или менее данные на основе поставщика (логические проверки)?Я, конечно, склоняюсь к первому варианту, но хотел убедиться, что я не сумасшедший.

1 Ответ

1 голос
/ 22 июня 2010

Я очень уверен, что код и структура данных для моего сайта - мои собственные.

Где, когда и как вы конвертируете данные от каждого провайдера в свою собственную логику / структуру данных,вопрос выбора.Вы можете хранить его в специальных таблицах поставщика и иметь интерфейс или службу, которая динамически преобразует его в то, что вам нужно, или вы можете иметь импортер, который выполняет преобразование один раз и сохраняет преобразованную информацию в вашей собственной структуре.

В любом случае, я бы кодировал логику преобразования / импорта для каждого провайдера в своем собственном классе, и каждый из них происходил от общего предка или каждый из них реализовывал общий интерфейс.Таким образом вы гарантируете, что ваша собственная логика и структуры данных защищены от хитросплетений различных поставщиков новостей.

Шаблоны фабрики и / или компоновщика также пригодятся в этом сценарии.Они помогут отделить вашу собственную общую логику импорта / преобразования от выбора класса для создания экземпляра и всего, что необходимо для правильной настройки этого параметра для конкретной ленты новостей.

...