我必须建立一个新闻数据库,它可能会从许多不同的提供商处获取新闻并在我们的网站上显示。现在我想我应该想出它将如何在我们的网站上显示,我们将显示的字段,然后当一个新的提供者出现时,右边一个脚本将他们的数据解析为我们的格式。这是最好的还是我应该准确地复制他们的数据然后根据提供者显示更多或更少的数据(逻辑检查)?当然,我倾向于第一种选择,但我想确保我不会疯狂。
答案 0 :(得分:1)
我非常确定我网站的数据代码和结构是我自己的。
将数据从每个提供程序转换为您自己的逻辑/数据结构的位置,时间和方式是一个选择问题。您可以将其存储在特定于提供程序的表中,并具有可动态将其转换为所需的接口或服务,或者您可以让导入器执行一次转换并将转换后的信息存储在您自己的结构中。
无论哪种方式,我都会为自己的类中的每个提供程序编写转换/导入逻辑,并且每个提供程序都来自一个共同的祖先,或者每个都实现一个公共接口。这样,您就可以确保自己的逻辑和数据结构不受各种新闻提供商的复杂影响。
工厂和/或构建器模式在这种情况下也会很有用。它们将帮助将您自己的通用导入/转换逻辑与选择要实例化的类以及为特定新闻源正确设置所需的所有内容分开。