Frage

Hintergrund

Ich bin Skizzieren auf einer Anwendung, die so etwas wie dies ausführen muss,

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

Die Datenbanken in Frage sind alle vom gleichen Typ, aber mit unterschiedlichen Tabellen und Struktur. Die Objekte, die zu ladende sind alle Produkte eines bestimmten Typs. Die Dateien haben eine ähnliche Struktur, aber nicht unbedingt die gleiche, einige xml sind, einige sind csv etc.

Die benutzerdefinierte Anwendung ist hier eine einheitliche Schnittstelle zu gewährleisten, für die Objekte aus den relationalen Daten abgerufen manipulieren. Es ist eine einfache Web-Anwendung mit ein paar Optionen für jedes Produkt und einer paginierte Anzeige der Produkte. Sie fügt hinzu, um zusätzliche Daten zu jedem Datensatz, der durch das Mittel eines ORM beibehalten wird.

Nur eine Datenbank wird in jedem Fall der Anwendung aktiv sein, aber viele Dateiformate aktiv sein. Das Schreiben dieser Dateien gleichzeitig ist.

Frage

Ich habe zu kämpfen mit dem besten Ansatz zu finden, die Umsetzungsschritte für die Gestaltung.

Gibt es ein Muster, das irgendwie die verschiedenen Schemata in einem einzigen Modell zu kombinieren verwaltet? Es ist die Annahme, hier, dass nur die Felder, die in allen Datenbanken vorhanden sind, sollen in dem Modell enden.

Und was ist mit dem umgekehrt? Wenn die Produktobjekte geschrieben werden sollen einzureichen?

Ich habe schon in verschiedenen Mustern wie das Strategiemuster sehe, aber ich habe immer noch nicht in diesem Moment, wo alle Stücke scheinen an ihrem Platz zu fallen.

Für das, was es lohnt sich die Anwendung selbst wird höchstwahrscheinlich in PHP geschrieben werden.

War es hilfreich?

Lösung

Das wäre mein Ansatz:

Jede DB würde ihm einen Blick hat, dass die benötigten Daten, um Ihre Anwendung darstellen würde.

Ihre Anwendung würde eine Schicht, die die Daten lesen würde und es in eine (ziemlich Standard) Datenstruktur neu zu formulieren.

Dann würden Sie eine Schicht, die diese Standarddatenstrukturen und schreiben Sie auf die angeforderten Dateien lesen würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top