Hallo Community,
ich stehe derzeit ein wenig auf dem Schlauch und hoffe ihr könnt mir weiterhelfen.
(Habe über die sufu keinen Thread gefunden, der mir hilft. Sollte einer mit ähnlicher Fragestellung vorhanden sein und ich habe ihn nicht gefunden, entschuldige ich mich an dieser Stelle)
Es geht um folgendes.
Ich bin seit längerem an einem Verwaltungsprogramm am arbeiten (Stammdatenverwaltung, Laufdaten etc). Für den Datenbankzugriff verwende ich Hibernate.
Als ich angefangen hatte, hatte ich noch äußerst wenig struktur in meinem Code.
D.h. In meiner "View" wurden Datenmanipulationsoperationen ausgeführt und auch in die DB geschrieben.
Nach diversen Vorlesungen auf der Uni habe ich dann festgestellt, dass das äußerst unschön und auch absolut nicht zweckmäßig ist.
Also habe ich angefangen, mein Projekt in das 3-Schichten-Modell:
aufzuteilen.
Das hat an sich soweit auch alles gut geklappt, es ist mit sicherheit noch nicht perfekt, aber das kommt ja vielleicht noch.
Nun zu meinem Problem:
Um die Datenbankzugriffmethoden an einer einheitlichen Stelle zu haben, habe ich mir eine Klasse "DBAktionen" erstellt in der beispielsweise die "SessionFactory" verwaltet wird.
Nach und nach kamen hier mehr und mehr Methoden zum speichern, löschen, ändern hinzu und mittlerweile ist die Klasse so groß, dass aus der einst übersichtlichen Klasse ein riesen tohuwabohu entstanden ist. (über 2000 Zeilen)
Nun spiele ich mit dem Gedanken, die Klasse in mehrere Subklassen aufzusplitten, tue mir dabei aber etwas schwer.
Wäre nett, wenn mir hier jemand einen Ratschlag geben könnte
Kurzes Beispiel meiner Klasse "DBAktionen"
Methoden:
-speicherKunden
-aenderKunden
-loescheKunden
-sucheKundeByName
-speicherKontakt
-aenderKontakt
-loescheKontakt
-sucheKontaktByName
-sucheKontaktById
-speicherTelefonat
-aenderTelefonat
-loescheTelefonat
-ladeTelefonate
und so weiter und sofort.
Manche dieser Methoden greifen natürlich auch auf andere Methoden in dieser Klasse zu.
So wird bei einem Telefonat beispielsweise die Id des Kontaktes mitgegeben und in Telefonat wird dann "sucheKontaktById" aufgerufen um den korrekten Kontakt mit abzuspeichern.
Ich hoffe mein Problem ist einigermaßen verständlich beschrieben
Danke schonmal im vorraus.
ich stehe derzeit ein wenig auf dem Schlauch und hoffe ihr könnt mir weiterhelfen.
(Habe über die sufu keinen Thread gefunden, der mir hilft. Sollte einer mit ähnlicher Fragestellung vorhanden sein und ich habe ihn nicht gefunden, entschuldige ich mich an dieser Stelle)
Es geht um folgendes.
Ich bin seit längerem an einem Verwaltungsprogramm am arbeiten (Stammdatenverwaltung, Laufdaten etc). Für den Datenbankzugriff verwende ich Hibernate.
Als ich angefangen hatte, hatte ich noch äußerst wenig struktur in meinem Code.
D.h. In meiner "View" wurden Datenmanipulationsoperationen ausgeführt und auch in die DB geschrieben.
Nach diversen Vorlesungen auf der Uni habe ich dann festgestellt, dass das äußerst unschön und auch absolut nicht zweckmäßig ist.
Also habe ich angefangen, mein Projekt in das 3-Schichten-Modell:
- Ansicht
- Funktionalität
- Datenbank
aufzuteilen.
Das hat an sich soweit auch alles gut geklappt, es ist mit sicherheit noch nicht perfekt, aber das kommt ja vielleicht noch.
Nun zu meinem Problem:
Um die Datenbankzugriffmethoden an einer einheitlichen Stelle zu haben, habe ich mir eine Klasse "DBAktionen" erstellt in der beispielsweise die "SessionFactory" verwaltet wird.
Nach und nach kamen hier mehr und mehr Methoden zum speichern, löschen, ändern hinzu und mittlerweile ist die Klasse so groß, dass aus der einst übersichtlichen Klasse ein riesen tohuwabohu entstanden ist. (über 2000 Zeilen)
Nun spiele ich mit dem Gedanken, die Klasse in mehrere Subklassen aufzusplitten, tue mir dabei aber etwas schwer.
Wäre nett, wenn mir hier jemand einen Ratschlag geben könnte
Kurzes Beispiel meiner Klasse "DBAktionen"
Methoden:
-speicherKunden
-aenderKunden
-loescheKunden
-sucheKundeByName
-speicherKontakt
-aenderKontakt
-loescheKontakt
-sucheKontaktByName
-sucheKontaktById
-speicherTelefonat
-aenderTelefonat
-loescheTelefonat
-ladeTelefonate
und so weiter und sofort.
Manche dieser Methoden greifen natürlich auch auf andere Methoden in dieser Klasse zu.
So wird bei einem Telefonat beispielsweise die Id des Kontaktes mitgegeben und in Telefonat wird dann "sucheKontaktById" aufgerufen um den korrekten Kontakt mit abzuspeichern.
Ich hoffe mein Problem ist einigermaßen verständlich beschrieben
Danke schonmal im vorraus.