2010-12-05 22 views
0

Bei der Übertragung von Daten, die ursprünglich von einer Webseite stammen, müssen Daten manchmal in einen Datentyp oder ein Format konvertiert werden, das für die Backend-Datenbank geeignet ist. Beispielsweise muss ein Datum im Format "TT/MM/JJJJ" in ein Python-Datumsobjekt oder "JJJJ-MM-TT" konvertiert werden, damit es in einer SQLite-Datumsspalte gespeichert wird (SQLite akzeptiert "TT/MM"/yyyy ', aber das kann Probleme verursachen, wenn Daten abgerufen werden).Framework Design Frage

Frage - an welchem ​​Punkt sollten die Daten konvertiert werden? a) Als Teil einer generischen web_page_save() -Methode (unmittelbar nach der Datenvalidierung, aber vor dem Aufruf einer row.table_update() -Methode). b) Als Teil von row.table_update() (eine Datenobjektmethode, die von web- oder nicht webbasierten Anwendungen aufgerufen wird und die Erstellung einer Feldwertparameterliste vor dem Ausführen des UPDATE-Befehls umfasst).

Mit anderen Worten, gehört die Datenkonvertierung aus Sicht eines Frameworks zur Seitenobjekt- oder Datenobjektverarbeitung?

Alle Meinungen würden geschätzt.

Alan

Antwort

1

Ich könnte falsch liegen, aber ich denke, es gibt keine endgültige Antwort auf diese Frage. Es hängt von der Sprache ab, die Ihr Framework bietet. Wenn beispielsweise ein anderer Teil des Frameworks Daten in nicht-kanonischer Form annimmt und sie dann in eine interne kanonische Form konvertiert, wäre es in diesem Fall sinnvoll, einige zu erwartende Eingabe-Datumsformate zu unterstützen.

Ich bevorzuge es immer strikte Frameworks zu erstellen und Daten in Front-Ends zu konvertieren.

2

Ich denke, es gehört in die Validierung. Sie möchten ein Datum, aber die Webseite gibt nur Zeichenfolgen ein, so dass der Validator prüfen muss, ob der Wert in ein Datum konvertiert werden kann, und ab diesem Zeitpunkt sollte Ihre Anwendung sie wie ein Datum verarbeiten.