Design Patterns für Programm

geneticZ

Bekanntes Mitglied
Hallo,
ich habe hier für meine Begriffe ein etwas größeres Projekt und würde gerne einen sauberen und übersichtlichen Programmcode dafür schreiben. Kurz zur Erklärung: Ein bereits bestehendes Datenbankprojekt mit einer enormen Anzahl an Datensätzen muss in ein komplett neues und angepasstes Datenbanksystem umgesetzt werden. Hierfür werden die Datensätze in XML exportiert und mit Java in die neue Umgebung / Datenbank implementiert.

Soweit so gut, das alles ist auch kein all zu großes Problem, aber ich möchte eben einen sauberen Code haben.

Im neuen Datenbanksystem gibt es ca. 15 verschiedene Tabellen und ich hatte bis jetzt vor, für jede in Java eine eigene Klasse anzulegen. Dies bringt mich zu der Annahme dass in diversen Fällen Operationen redundant sein könnten oder immer auf die gleichen Werte zurückgreifen müssen.

Was derzeit der Fall ist aber höchstwahrscheinlich besser oder sauberer gemacht werden kann:
- Alle Klassen bekommen den selben XML-Knoten im Konstruktor übergeben von dem die Werte ausgelesen werden.
- Alle Klassen bekommen den selben XML-Namespace im Konstruktor übergeben
- Alle Klassen bekommen das selbe Objekt einer Klasse übergeben die Operationen an der Datenbank durchführt (z.B. DBconnection, preparedStatements)
- Alle Klassen haben aber auch unterschiedliche Methoden! Vor allem der Algorithmus für das Auslesen der XML-Tags besteht zwar immer, ist aber bei jeder Klasse unterschiedlich.

Irgendwie habe ich das Gefühl dass hier alles nach einem Design Pattern schreit. Da ich mich diesbezüglich aber nicht sehr gut auskenne bin ich über jeden ernst gemeinten Tipp sehr dankbar! :)

Beste Grüße
geneticZ
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
Design Pattern sind kein Fingerschnippsen, welche automatisch Code x in Code y umwandeln,

was du brauchst ist ein Kopf zum Denken und bisschen Vorstellung vom Code,
denkbar ist z.B. eine Basisklasse mit leerem Konstruktor und eine init()-Methode für die diversen Parameter,
dann brauchen alle Subklassen zur Initialisierung gar nix schreiben,
es gibt aber das Risiko dass ein Objekt ohne Initialisierung verwendet wird, was mit Konstruktor weniger wahrscheinlich ist

eine andere Richtung wäre, die Parameter alle in einem Objekt zu sammeln und so die Konstruktor-Parameter auf einen einzelnen zu reduzieren,
nützlich wenn auch noch ganz andere Methoden-Hierarchien zu durchwandern sind,

das sind alles natürliche Ideen aus der Sache selbst, unabhängig davon, ob sich vor 12,4 Jahren irgendjemand in South Carolina einen Namen dafür ausgedacht und ein Buch dazu geschrieben hat..
 

geneticZ

Bekanntes Mitglied
Hallo Slater und danke für deine Antwort.
Ideen aus der Sache selbst habe ich genügend, Vorstellung vom Code ebenfalls (genau genommen bestehen bereits sehr viele Teile) und auf ein Sammelobjekt bin ich davor auch schon gekommen. Ich suche aber nach einer noch eleganteren Lösung. Unabhängig davon ob es dich interessiert dass vor 12,4 Jahren irgendjemand in South Carolina sich einen Lösungsweg für immer wiederkehrende Probleme ausgedacht und dem ganzen einen Namen gegeben hat, würde mich eben genau ein solches, falls vorhanden, mehr als erfreuen! :)
 
Zuletzt bearbeitet von einem Moderator:
M

maki

Gast
Unabhängig davon ob es dich interessiert dass vor 12,4 Jahren irgendjemand in South Carolina sich einen Lösungsweg für immer wiederkehrende Probleme ausgedacht und dem ganzen einen Namen gegeben hat, würde mich eben genau ein solches, falls vorhanden, mehr als erfreuen!
Die Lösungen hat man sich nicht vor 12,4 Jahren ausgedacht, sondern nur die Namen, weil die Lösungen eben wiederkehrend waren bzw. sind.

D.h., das man zwangsläufig Design Patterns im Code hat, wenn der Code einigermaßen strukturiert ist, auch ohne jemals etwas von Design Patterns gehört zu haben.
Design Patterns keine exakten Rezepte bei deren Einhaltung immer etwas leckeres rauskommt.

Denke du solltest erstmal 2 Dinge trennen:
- Import der (konvertierten/transformierten) Daten
- das neue System

Schon solltest du erkennen, dass es wohl nicht so gut wäre wenn alle deine Klassen von XML Daten ausgehen, denn das sollte eigentlich passieren, bevor die App läuft.
Also brauchen deine Klassen eigentlich gar nix von XML zu wissen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bildersyncronisierung - Design Patterns? Allgemeine Java-Themen 2
J Meinung zum verwendeten Design Pattern Allgemeine Java-Themen 4
S Noch eine Design-Frage zu Setter Allgemeine Java-Themen 6
S ArrayList Design Allgemeine Java-Themen 4
S Interface Design von HookUp oder Callback Methoden für eigenes Framework Allgemeine Java-Themen 9
Kirby.exe Framework für Game Design Allgemeine Java-Themen 8
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
M Diverse Design-Fragen Allgemeine Java-Themen 6
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
M OOP Design Pattern - "extends Observable implements Observer" Allgemeine Java-Themen 0
T OOP Fehler im Design Allgemeine Java-Themen 9
perlenfischer1984 Welches Design Pattern ist geegneit. Allgemeine Java-Themen 7
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
R Parameter Adapter - Design Allgemeine Java-Themen 1
D Bezüglich Design meines Codes Allgemeine Java-Themen 1
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
S Java Design Frage Allgemeine Java-Themen 10
L OOP Klassen-Design (static oder nicht?) Allgemeine Java-Themen 3
P Auf die Anzahl der Joins achten beim WS design Allgemeine Java-Themen 1
M OOP Design Frage Allgemeine Java-Themen 2
J Domain Driven Design - Modellierungsfrage Allgemeine Java-Themen 3
F Welches Design Pattern? Allgemeine Java-Themen 3
H MVC Design Allgemeine Java-Themen 9
J Swing Eigenes Button-design Allgemeine Java-Themen 2
Q Kapselung Allgemeine Design- Frage Allgemeine Java-Themen 8
Z Design um boolsche ausdrücke zu speichern & auszuwerten Allgemeine Java-Themen 3
A Sinnvolles Software Design bei Eigenschaftsänderungen von Objekten Allgemeine Java-Themen 7
C Gutes Code Design (3 Schichten Modell) Allgemeine Java-Themen 19
D Design Stations-Gitter Allgemeine Java-Themen 4
M Public Static importRunning -> Bad Design oder ok ? Allgemeine Java-Themen 5
L Software-Design: Kommunikation mit SerialPort (RXTX) Allgemeine Java-Themen 2
D [Drag&Drop] Design-Pattern-Frage Allgemeine Java-Themen 4
I Wie populär ist Design by Contract in Java und was haltet ihr davon? Allgemeine Java-Themen 5
Landei Design-Problem Formel-Parser Allgemeine Java-Themen 10
J Aktionen im State-Design-Modell Allgemeine Java-Themen 3
S Design Oberfläche Allgemeine Java-Themen 2
L Design-Frage: Platzierung der Save-Methode Allgemeine Java-Themen 3
G Domain Driven Design Model Allgemeine Java-Themen 14
G konkretes Domain Driven Design Aggregate Allgemeine Java-Themen 2
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
G Accordion Design Pattern Frage Allgemeine Java-Themen 2
hdi Hilfe beim Design (Stichwort OO, Pattern, ...) Allgemeine Java-Themen 11
B Design Problem Allgemeine Java-Themen 8
faulelotte Verständnisproblem Domain Driven Design Allgemeine Java-Themen 3
S Frage zum Design der Datenstruktur Allgemeine Java-Themen 10
D design gesucht - Angabe von zu ersetzenden substrings Allgemeine Java-Themen 2
D Design ohne Getter und Setter Allgemeine Java-Themen 8
D Design: on-the-fly-Parsing + Datenstrukturen Allgemeine Java-Themen 5
N Welches design pattern? Allgemeine Java-Themen 8
D design client server Allgemeine Java-Themen 10
T Design-Frage Allgemeine Java-Themen 14
S XML-Parsing / public-Member-Variablen / Design-Frage Allgemeine Java-Themen 8
S JToolBar Design Allgemeine Java-Themen 3
T Design - Exception in Thread Allgemeine Java-Themen 3
G Composite, Design Pattern, printTree Allgemeine Java-Themen 42
N Design-Frage: persistent machen per Reflection Allgemeine Java-Themen 3
M Frage zum Design :: allgemein Allgemeine Java-Themen 6
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
U Frage zu DB Design Allgemeine Java-Themen 3
K Design / Implementierung Allgemeine Java-Themen 5
N Checkstyle - Design for Extension Allgemeine Java-Themen 4
F Design Pattern zur Realisierung von Mehrfachvererbung? Allgemeine Java-Themen 8
E Was ist ein gutes Design fuer meine Programm? Allgemeine Java-Themen 3
F Paket und Software Design Fragen. Allgemeine Java-Themen 5
P Apple Design Allgemeine Java-Themen 5
S design frage Allgemeine Java-Themen 10
T Design-Tipp gesucht Allgemeine Java-Themen 2
M Design von Java Klassen Allgemeine Java-Themen 2
G java design von klassen und projekten Allgemeine Java-Themen 6
K Design: Klassen in Pakete aufteilen - Eure Meinung Allgemeine Java-Themen 8
S Programmierstil / design Allgemeine Java-Themen 9
S Exception design Allgemeine Java-Themen 2
m@nu Exception-Design Allgemeine Java-Themen 4
R Design-Frage Allgemeine Java-Themen 9
N Hilfe beim Design Allgemeine Java-Themen 13
D Design Pattern: Singleton Allgemeine Java-Themen 4
Torres Design-Problem mit Jakarta Struts Allgemeine Java-Themen 2
A Anwendungs-Design (Plugin-Architektur) Allgemeine Java-Themen 4
A in patterns funktionen aufrufen Allgemeine Java-Themen 3
B Algorithmus für Arbeit mit fehlenden Listenelementen? Allgemeine Java-Themen 1
kodela Eingabe für TextArray bedingt sperren Allgemeine Java-Themen 3
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G KeyListener für JTextField Allgemeine Java-Themen 5
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
B Simpler Eventlistener für Tastaturtaste bauen? Allgemeine Java-Themen 13
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
E Key für TOTP Algorythmus(Google Authentificator) Allgemeine Java-Themen 0
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46

Ähnliche Java Themen

Neue Themen


Oben