Methoden Zu viele Getter- und Settermethoden - geht das einfacher?

El_Lobo

Mitglied
Hallo zusammen!

Allen Javafans ein frohes neues Jahr!!!
Ich habe eine mehr generelle Frage zur Programmstruktur:

Mein Gui() enthält etlich Felder und Knöpfe, die dazugehörigen Werte und Methoden werden in einer Klasse Rechner() verarbeitet (um Gui und Rechnung zu trennen). Das hat aber zur Folge, dass ich sehr viele Getter und Settermethoden im Rechner() habe, um den Datenaustausch zu realisieren. Ist zwar nicht schlimm, macht das Programm aber etwas unübersichtlich und ist lt. Lehrbuch auch ein Zeichen schlechten Java-Stils.

Frage daher: was wären die Alternativen für einen solchen Datenaustausch zwischen Gui und der verarbeitenden Klasse? Mir fiele ein:
1.) statische Variablen deklarieren in einer speziellen Datensammelklasse;
2.) über Vererbung gemäß "Gui extends Rechner" die beiden Klassen mehr oder weniger verschmelzen, was zwar sehr praktisch, aber nicht im Sinne der OO Programmierung wäre.

Gibt es hier bessere Ansätze?
Danke schonmal,

mit bestem Gruß

El Lobo
 
1.) statische Variablen deklarieren in einer speziellen Datensammelklasse;
Nein, statische Variablen machens nicht besser.

2.) über Vererbung gemäß "Gui extends Rechner" die beiden Klassen mehr oder weniger verschmelzen, was zwar sehr praktisch, aber nicht im Sinne der OO Programmierung wäre.
Das genauso wenig 😉 Vererben sollte man nur wenn man aus vollster Überzeugung sagen kann "A ist ein B !!". Komposition sollte man in den anderen Fällen immer vorziehen.

Wie hast du dein Programm denn aufgebaut? Wenn du das nach dem MVC Muster baust, dann braucht deine GUI doch überhaupt keine getter/setter, dann läuft der gesamte Datenaustausch über das Model.
 
zuerst schauen ob deine Domain Klasse nicht zu viel macht, d.h. gehoeren manche felder vielleicht in ein anderes Objekt gekoppelt ?

weiterhin schauen ob jeder getter/setter notwendig ist, man tendiert in heutigen IDEs gerne dazu einfach mal alle generieren zu lassen oder eine Verwendung zu haben.

beide deiner genannten Punkte sind nicht zu favorisieren.
 

Neue Themen


Zurück
Oben