Alles in eigene Klasse?

chuvak

Erfahrenes Mitglied
Ich habe eine Kundenverwaltungssoftware. Darauf befinden sich mehrere JPanels mit viel Inhalt drauf, welche ständig mit einer DB in Verbindung stehen. In der DB sind Kundendaten, Produkte usw. gespeichert.
Um auf die DB-Daten schneller zugreifen zu können, lade ich sie jeweils in eine ArrayList ein, z.B. ArrayList<Kunde>. Werden diese Daten geändert, muss es natürlich sowohl in der Klasse, als auch in der DB aktualisiert werden.
Da mein JPanel View bereits sehr unübersichtlich aussieht (vollbepackt mit allen anderen JPanels bzw. JTabbedPanes, die mit CardLayout durchgeswitch wurden), habe ich mir überlegt, für alle "Haupt-JPanels" eine eigene Klasse anzulegen und sie dann mit der View zu verknüpfen.
Z.B. eine eigene Klasse für das JPanel Kunde, wo alle Kundendaten eingesehen und bearbeitet werden können, das Gleiche auch für Produkte usw.

Macht das ganze Sinn oder ist das zu umständlich? Ich möchte das nur machen, um den Code auszulagern und damit die einzelnen Klassen (besonders View) übersichtlicher werden.
Gibt es sowas wie Design Pattern, die sich mit diesem Problem beschäftigen?
Oder Namenskonventionen (Klasse Kunde aus der DB und das JPanel Kunde)?

Dankeschön!
 
Also ich stelle mir gerade eine Frage und zwar warum du das nicht schon viel früher getan hast? Mir wurde das Programmieren so beigebracht, dass eine Funktion bzw. Methode nur eine einzige Aufgabe erfüllt und diese bestmöglich. Heißt also, wenn eine Methode scheinbar mehrere Sachen macht, dann werden diese in weitere Methoden ausgelagert. Das Gleiche gilt auch für weitere Strukturen, wie etwa Klassen. Immer nur eine ganz bestimmte Aufgabe und das bestmöglich und das geht dann immer so weiter über Module, die man sich zusammenschnürt, bis hin zur gesamten Anwendung.

Du hast eine Kundenverwaltung, die also Kunden verwalten soll. Dann hast du verschiedene Ansichten (Panels), die alle unterschiedliche Aufgaben haben, z.B. das Anzeigen der allgemeine Kundendaten, Bankverbindung oder sonst was. Alles unterschiedliche Sachen, die eben von unterschiedlichen Panels verwaltet werden sollten.

Daher ist meine Antwort: Ja, du solltest das alles lockern und auslagern. Das hat in erster Linie organisatorische Gründe, fördert aber auch z.B. die Austauschbarkeit, da sich alles deutlich mehr löst und damit austauschbar wird. Du wirst merken, dass du wahrscheinlich beim Auseinandernehmen wohl hier und da was abändern oder korrigieren müssen wirst, damit es sauber implementiert wird.
 
Zurück