Hi,
Ich bräuchte mal wieder etwas Hilfe, was mein derzeitiges Projekt betrifft.
Das Programm läuft zwar, ist aber alleine zum Einlesen und Mappen schon verdammt viel Code.
Also ich habe circa 20 Textdateien. Jede Textdatei ist wie eine Tabelle aufgebaut, wobei in der ersten Zeile die Spaltennamen und allen weiteren Zeilen die Werte stehen.
Es sind zwei "Arten" Textdateien bzw Objekte. Während eine Menge eine Art Mapping beschreibt, sind in der anderen Menge Textdateien Spalten, die auf dieses Mapping zugreifen.
Beispiel: Hund.txt
"Name" "Rasse" "Laut"
"Pete" "1.c" "2.b"
Rasse.txt
"1.c"
Yorkshire Terrier
Das Beispiel wurde zur besseren Übersicht vereinfacht.
Jede Textdatei kann eine unterschiedliche Anzahl Spalten haben.
Daher benutze ich derzeit das Builder Pattern. Für beide Arten Textdateien (etwa Map-File und Daten-File) habe ich einen eigenen Builder gebastelt und die Spaltennamen sind quasi nochmal eigene Klassen. Ein Wrapper "Container" enthält diese Klassen und der Key ist jeweils die erste Spalte.
Also wäre quasi Pete der Key, 1.c und 2.b im Container, aber nicht als String, sondern als Klasse Rasse und Laut, die nur einen String (1.c bzw 2.b enthält).
Das ist sehr viel Schreibarbeit und wenn es kommt nicht so vor, als könnte ich mal locker flockig Änderungen im Code vornehmen.
Ziel ist es, aus den Textdateien neue zu generieren.
Mein Problem: das Builder Pattern schien anfangs relativ sauber zu sein und ist es auch, aber etwas kompliziert und sehr viel Schreibarbeit bei Änderungen. Wird eine Variable nicht mehr benötigt, muss ich die Variable auch an 4 anderen Stellen löschen.
Habt ihr eine bessere Idee wie ich das umsetzen könnte?
Die Reihenfolge der Spalten kann auch variieren, weswegen ich ewig große Else-if Konstrukte bauen musste
Ich bräuchte mal wieder etwas Hilfe, was mein derzeitiges Projekt betrifft.
Das Programm läuft zwar, ist aber alleine zum Einlesen und Mappen schon verdammt viel Code.
Also ich habe circa 20 Textdateien. Jede Textdatei ist wie eine Tabelle aufgebaut, wobei in der ersten Zeile die Spaltennamen und allen weiteren Zeilen die Werte stehen.
Es sind zwei "Arten" Textdateien bzw Objekte. Während eine Menge eine Art Mapping beschreibt, sind in der anderen Menge Textdateien Spalten, die auf dieses Mapping zugreifen.
Beispiel: Hund.txt
"Name" "Rasse" "Laut"
"Pete" "1.c" "2.b"
Rasse.txt
"1.c"
Yorkshire Terrier
Das Beispiel wurde zur besseren Übersicht vereinfacht.
Jede Textdatei kann eine unterschiedliche Anzahl Spalten haben.
Daher benutze ich derzeit das Builder Pattern. Für beide Arten Textdateien (etwa Map-File und Daten-File) habe ich einen eigenen Builder gebastelt und die Spaltennamen sind quasi nochmal eigene Klassen. Ein Wrapper "Container" enthält diese Klassen und der Key ist jeweils die erste Spalte.
Also wäre quasi Pete der Key, 1.c und 2.b im Container, aber nicht als String, sondern als Klasse Rasse und Laut, die nur einen String (1.c bzw 2.b enthält).
Das ist sehr viel Schreibarbeit und wenn es kommt nicht so vor, als könnte ich mal locker flockig Änderungen im Code vornehmen.
Ziel ist es, aus den Textdateien neue zu generieren.
Mein Problem: das Builder Pattern schien anfangs relativ sauber zu sein und ist es auch, aber etwas kompliziert und sehr viel Schreibarbeit bei Änderungen. Wird eine Variable nicht mehr benötigt, muss ich die Variable auch an 4 anderen Stellen löschen.
Habt ihr eine bessere Idee wie ich das umsetzen könnte?
Die Reihenfolge der Spalten kann auch variieren, weswegen ich ewig große Else-if Konstrukte bauen musste