Hallo an Alle,
ich habe in den letzten 3 Jahren im Rahmen meines Studiums ein sehr großes Java-Programm geschrieben. Unter anderem enthält es sehr viele Klassen mit Methoden zum Lesen/Schreiben von verschiedene Dateien (spaltenweise aufgebaute ASCII-Dateien, sind CSV ähnlich)
Ich habe für jede Datei eine Klasse angelegt welche diese mit Hilfe 2 statischer Methoden Lesen bzw. Schreiben kann, wobei die Lese-Methode immer ein Objekt als Rückgabeparameter hat welches die gelesenen Infos enthält. Die Schreib-Methode bekommt dementsprechend dieses "DataHolder"-Objekt als Parameter übergeben und schreibt es wieder als ASCII-File raus.
Um mal ein Beispiel zu nennen (echte Struktur/Code würde denke ich den Rahmen sprengen):
Es gibt 3 Dateien, eine enthält geometrische Informationen über ein Schiff (wie genau, ist egal). Eine weitere geometrische Informationen über ein Fluss und die letzte enthält Daten über Strömungen in diesem Fluss.
Meine Projektstruktur, Projektname bsp. "Schifffahrt", sieht bisher so aus...

Und natürlich viel viel mehr Packages und Klassen...
Die Lese- und Schreibmethoden so:

Die "DataHolder"-Klassen enthalten nur Variablen und Getter/Setter
1. Ist es sinnvoll eine Klasse für das Lesen/Schreiben der ASCII-Datei zu haben mit statischen Methoden und dazu immer eine passende Klasse mit den gelesenen Informationen (eine Art "DataHolder")
2. Diese I/O-Klassen und damit auch die "DataHolder"-Klassen werden leider auch in vielen anderen Eclipse-Projekten gebraucht. Dafür müsste ich immer dieses Projekt importieren, wobei hier natürlich für das neue Projekt viele unwichtigen Klassen enthalten sind wie die Simulation oder Berechnungen...
Also würde es Sinn machen ein Eclipse-Projekt (Jar-Datei) zu erstellen, was nur diese Einlese/Schreib-Klassen und "DataHolder"-Klassen enthält? Wobei das auch unübersichtlich werden kann..
Oder bei einer sehr großen Anzahl an Dateien (nicht nur 15) sogar diese in 2 Projekte (Jars) zu teilen (bessere Übersicht), wobei dann natürlich wieder eine Abhängigkeit dar wäre zwischen den Beiden?
Die Dateien zu "verschmelzen" ist leider nicht möglich, also um weniger Klassen und Methoden schreiben zu müssen, auch wenn es eventuel besser wäre.
Was meint ihr dazu? Wie hättet ihr das alles aufgeteilt?
Danke im Vorraus...
Gruß
Dennis
ich habe in den letzten 3 Jahren im Rahmen meines Studiums ein sehr großes Java-Programm geschrieben. Unter anderem enthält es sehr viele Klassen mit Methoden zum Lesen/Schreiben von verschiedene Dateien (spaltenweise aufgebaute ASCII-Dateien, sind CSV ähnlich)
Ich habe für jede Datei eine Klasse angelegt welche diese mit Hilfe 2 statischer Methoden Lesen bzw. Schreiben kann, wobei die Lese-Methode immer ein Objekt als Rückgabeparameter hat welches die gelesenen Infos enthält. Die Schreib-Methode bekommt dementsprechend dieses "DataHolder"-Objekt als Parameter übergeben und schreibt es wieder als ASCII-File raus.
Um mal ein Beispiel zu nennen (echte Struktur/Code würde denke ich den Rahmen sprengen):
Es gibt 3 Dateien, eine enthält geometrische Informationen über ein Schiff (wie genau, ist egal). Eine weitere geometrische Informationen über ein Fluss und die letzte enthält Daten über Strömungen in diesem Fluss.
Meine Projektstruktur, Projektname bsp. "Schifffahrt", sieht bisher so aus...

Und natürlich viel viel mehr Packages und Klassen...
Die Lese- und Schreibmethoden so:

Die "DataHolder"-Klassen enthalten nur Variablen und Getter/Setter
1. Ist es sinnvoll eine Klasse für das Lesen/Schreiben der ASCII-Datei zu haben mit statischen Methoden und dazu immer eine passende Klasse mit den gelesenen Informationen (eine Art "DataHolder")
2. Diese I/O-Klassen und damit auch die "DataHolder"-Klassen werden leider auch in vielen anderen Eclipse-Projekten gebraucht. Dafür müsste ich immer dieses Projekt importieren, wobei hier natürlich für das neue Projekt viele unwichtigen Klassen enthalten sind wie die Simulation oder Berechnungen...
Also würde es Sinn machen ein Eclipse-Projekt (Jar-Datei) zu erstellen, was nur diese Einlese/Schreib-Klassen und "DataHolder"-Klassen enthält? Wobei das auch unübersichtlich werden kann..
Oder bei einer sehr großen Anzahl an Dateien (nicht nur 15) sogar diese in 2 Projekte (Jars) zu teilen (bessere Übersicht), wobei dann natürlich wieder eine Abhängigkeit dar wäre zwischen den Beiden?
Die Dateien zu "verschmelzen" ist leider nicht möglich, also um weniger Klassen und Methoden schreiben zu müssen, auch wenn es eventuel besser wäre.
Was meint ihr dazu? Wie hättet ihr das alles aufgeteilt?
Danke im Vorraus...
Gruß
Dennis
Zuletzt bearbeitet: