1

背景

我正在绘制一个需要执行此类操作的应用程序

database a >--|                          |--> fileformat 1
database b >--+--> custom application >--+--> fileformat 2
...           |                          |    ...
database n >--|                          |--> fileformat n

所讨论的数据库都是相同类型的,但具有不同的表和结构。要加载的对象都是某种类型的产品。这些文件具有相似的结构但不一定相同,有些是 xml,有些是 csv 等。

自定义应用程序是为了确保用于操作从关系数据中检索的对象的一致接口。它是一个简单的 Web 应用程序,每个产品都有几个选项和产品的分页显示。它将附加数据添加到通过 ORM 持久化的每条记录。

应用程序的每个实例中只有一个数据库处于活动状态,但是可以激活许多文件格式。这些文件的写入是同时进行的。

问题

我一直在努力寻找设计转换步骤的最佳方法。

是否有一种模式可以设法将不同的模式组合成一个模型?这里假设只有所有数据库中存在的字段才应该最终出现在模型中。

反过来呢?何时将产品对象写入文件?

我已经研究过不同的模式,例如策略模式,但我仍然没有看到所有的点点滴滴似乎都到位的那一刻。

对于它的价值,应用程序本身很可能是用 PHP 编写的。

4

1 回答 1

2

这将是我的方法:

每个数据库都有一个视图,可以将所需的数据呈现给您的应用程序。

您的应用程序将有一个层来读取数据并将其重新格式化为(相当标准的)数据结构。

然后你会有一个层来读取这些标准数据结构并写出请求的文件。

于 2010-01-07T21:05:07.357 回答