Thread Mini Datenbank
(8 answers)
Opened by der_thomas at 2013-10-13 11:26
Die Bindung der Datenbankklasse an das Frontend soll so lose wie nur möglich sein.
Die zugrunde liegende Idee ist die, dass diese ganzen 2D-Array-Operationen im Grunde immer die gleichen sind, egal um was für Daten es sich handelt. z.B. „Neuen Datensatz anfügen“, "Datensatz (der im Frontend verändert wurde) wieder in die DB einbauen“ u.s.w. Die Methoden der Datenbankklasse sollen so allgemein sein dass sie mit jeglichen Daten auskommen, d.h. Egal ob z.B. die Spalte Nr.3 Strings oder Int´s beinhaltet. Und wenn hier ein Typ zwingend erforderlich ist, so 'kümmert' sich darum das Frontend. Sollte es wirklich vorkommen dass mit dem Inhalt Berechnungen durchgeführt werden müssen, würde das im Frontend oder noch besser in einer spezialisierten Unterklasse der Datenbankklasse geschehen. Mal als Beispiel eine vereinfachte Bücherliste: Spalte 1 = Titel Spalte 2 = Autor Die Verbindung zwischen Frontend und Datenbankklasse wäre nur ein temporär genutztes eindimensionales Array a´la „1984“, „Orwell“. Also z.B. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 # Pseudocode des Frontends # aktueller Datensatz in der db-Klasse = der Datensatz der vor "1984", "Orwell" in der Matrix steht. @temp = db->get_next_row(); print $temp[1]; >>> Orwell $temp[1] = „George Orwell“; db->set_row(@temp); db->get_next_row(); #zum Test ein Sprung nach vorne in der db db->get_previous_row(); # und wieder zurück zum '1984' Datensatz print $temp[1]; >>> George Orwell Ein Frontend, das ich bei meinem bestehenden (Python)Programm nutze, kann beispielsweise gar keine Daten auf dem Bildschirm anzeigen, sondern erstellt nur geordnete *.txt Dateien in denen nur ein Teil der Spalten enthalten ist - auch hier ist dies aber nur das Frontend, die ganze Organisation des 2D Array´s übernimmt diese eine db-Klasse. Last edited: 2013-10-13 17:45:02 +0200 (CEST) |