Hey Leute,
ich stehe grad vor folgendem Problem: Ich habe eine Klasse die einen Command für
irgendetwas repräsentiert. Identifiziert wird er durch seinen Namen mittels einem enum.
An einer zentralen Stellen wird eine Liste solcher Commands abgearbeitet, indem auf
den Namen (wie gesagt enum) geswitcht wird und je nachdem etwas gemacht wird.
Mein Problem ist nun, dass manche Commands mehr Daten enthalten als andere.
Sprich CommandA hat zB ein feld "target", das ich von der zentralen Stelle über
getTarget() krieg.
CommandB hat nun aber noch ein weiteres feld "whatever".
Dieses Feld gibt es allerdings in meiner Command-Klasse grad nicht, und jetzt will ich es
ungern einbauen, da es für die Hälfte der Commands leer bleiben würde.
Also versteht ihr mein Bedenken? Ich könnte SubCommands machen und dann mittels
instanceof an der zentralen Stelle prüfen, aber naja...
Wie designe ich das am besten? ICh hab wie gesagt Commands, nur manche haben
zustäzliche Dinge (d.h. sie haben auch alles, was alle anderen auch haben)
Vererbung wie gesagt doof, weil wie mach ich das an zentraler Stelle, mit welcher Klasse
gehe ich da um -> instanceof.
Vorschläge?
Vielen lieben Dank :toll:
ich stehe grad vor folgendem Problem: Ich habe eine Klasse die einen Command für
irgendetwas repräsentiert. Identifiziert wird er durch seinen Namen mittels einem enum.
An einer zentralen Stellen wird eine Liste solcher Commands abgearbeitet, indem auf
den Namen (wie gesagt enum) geswitcht wird und je nachdem etwas gemacht wird.
Mein Problem ist nun, dass manche Commands mehr Daten enthalten als andere.
Sprich CommandA hat zB ein feld "target", das ich von der zentralen Stelle über
getTarget() krieg.
CommandB hat nun aber noch ein weiteres feld "whatever".
Dieses Feld gibt es allerdings in meiner Command-Klasse grad nicht, und jetzt will ich es
ungern einbauen, da es für die Hälfte der Commands leer bleiben würde.
Also versteht ihr mein Bedenken? Ich könnte SubCommands machen und dann mittels
instanceof an der zentralen Stelle prüfen, aber naja...
Wie designe ich das am besten? ICh hab wie gesagt Commands, nur manche haben
zustäzliche Dinge (d.h. sie haben auch alles, was alle anderen auch haben)
Vererbung wie gesagt doof, weil wie mach ich das an zentraler Stelle, mit welcher Klasse
gehe ich da um -> instanceof.
Vorschläge?
Vielen lieben Dank :toll: