Hallo,
ich habe mal eine grundsätzliche Frage, bitte nichts zu Komplexes erwarten:
Und zwar war es schon oft so dass ich mich in folgender Situation befand:
Es müssen diverse Aufgaben erledigt werden.
bspw. muss Input eingelesen und verarbeitet werden,
es muss anderswo was mit dem Input berechnet werden,
es müssen Objekte erzeugt werden.
Auch muss womöglich was graphisch gemalt werden (GUI Kram halt).
Vielleicht kommt auch noch OCR vor.
Zumindest für mich organisatorisch war es schon immer dann am Sinnvollsten, das Ganze nahc Aufgabengebieten zu ordnen.
Gibt also sozusagen einen Input Manager, einen Math Manager,
GUI Manager, etc.
Halt für jeden Aufgabenbereich Objekt(e) einer Klasse, mit für die Aufgabe relevannten Attributen, methoden, etc.
Muss man sich wie verschiedene Abteilungen und Arbeiter in eienr Firma vorstellen.
A kriegt von rigendwoher Daten, macht was mit.
gibt es an B weiter mit gewissen Anweisungen für den nächsten Schritt.
B mahct was damit, gitbs an C weiter.
C macht was, je nach internen Vorgängen gibt er es an A zurück oder schickts an D weiter.
Kurzum, die Objekte müssen sich untereinander kennen, vielleicht muss D auch mal As Attribut kennen oder gar ändern,
etc.
Fragt sich nur, wie setzt mans um?
In python habe ich da Null problem.
Von jeder Klasse die entsprechenden objekte erzeugt, in Python kennen sich Top Level Objekte automatisch untereinander und
jedes Objekt kann auf die Attribute und Methoden anderer Klassen zugreifen.
Aber wie macht mans in java?
Da müsste ja jedes Objekt Referenzen zu allen anderen Objekten haben (PITA, und ein Alptraum falls ein neues Objekt dazukommt, muss man in allen Klassen Sachen abändern).
Wie regelt man da sowas?
Python ist recht lax mit seinen Regeln, drum kann ich es einfach direkt machen.
Da kann eine Methode in der D Klasse einfach direkt ein ebstimmtes Pbjekt der Klasse A abändern, hardgecoded.
Garantiert kein schöner Stil, aber es klappt.
Aber wie macht mans in Java?
Bitte keine Spezialklassen oder Ähnliches, will das mit dem Standard Equipment von Java umsetzen.
Mehr eigentlich eine Designfrage aber wie setzt man sowas um?
Oder eine weitere Klasse, die alle anderen Objekte kennt und "Aufgaben rumdeligiert"?
Aber da haben wir dann ja endloskaskaden wie
d.machd(c.machc(b.machb(a.macha)))
wenn der Output der Methode einer Methode als Input in der methode einer anderen methode wirken soll.
Geschweigedenn wenn zyklisch Daten hin und hergeschickt werden...
ich habe mal eine grundsätzliche Frage, bitte nichts zu Komplexes erwarten:
Und zwar war es schon oft so dass ich mich in folgender Situation befand:
Es müssen diverse Aufgaben erledigt werden.
bspw. muss Input eingelesen und verarbeitet werden,
es muss anderswo was mit dem Input berechnet werden,
es müssen Objekte erzeugt werden.
Auch muss womöglich was graphisch gemalt werden (GUI Kram halt).
Vielleicht kommt auch noch OCR vor.
Zumindest für mich organisatorisch war es schon immer dann am Sinnvollsten, das Ganze nahc Aufgabengebieten zu ordnen.
Gibt also sozusagen einen Input Manager, einen Math Manager,
GUI Manager, etc.
Halt für jeden Aufgabenbereich Objekt(e) einer Klasse, mit für die Aufgabe relevannten Attributen, methoden, etc.
Muss man sich wie verschiedene Abteilungen und Arbeiter in eienr Firma vorstellen.
A kriegt von rigendwoher Daten, macht was mit.
gibt es an B weiter mit gewissen Anweisungen für den nächsten Schritt.
B mahct was damit, gitbs an C weiter.
C macht was, je nach internen Vorgängen gibt er es an A zurück oder schickts an D weiter.
Kurzum, die Objekte müssen sich untereinander kennen, vielleicht muss D auch mal As Attribut kennen oder gar ändern,
etc.
Fragt sich nur, wie setzt mans um?
In python habe ich da Null problem.
Von jeder Klasse die entsprechenden objekte erzeugt, in Python kennen sich Top Level Objekte automatisch untereinander und
jedes Objekt kann auf die Attribute und Methoden anderer Klassen zugreifen.
Aber wie macht mans in java?
Da müsste ja jedes Objekt Referenzen zu allen anderen Objekten haben (PITA, und ein Alptraum falls ein neues Objekt dazukommt, muss man in allen Klassen Sachen abändern).
Wie regelt man da sowas?
Python ist recht lax mit seinen Regeln, drum kann ich es einfach direkt machen.
Da kann eine Methode in der D Klasse einfach direkt ein ebstimmtes Pbjekt der Klasse A abändern, hardgecoded.
Garantiert kein schöner Stil, aber es klappt.
Aber wie macht mans in Java?
Bitte keine Spezialklassen oder Ähnliches, will das mit dem Standard Equipment von Java umsetzen.
Mehr eigentlich eine Designfrage aber wie setzt man sowas um?
Oder eine weitere Klasse, die alle anderen Objekte kennt und "Aufgaben rumdeligiert"?
Aber da haben wir dann ja endloskaskaden wie
d.machd(c.machc(b.machb(a.macha)))
wenn der Output der Methode einer Methode als Input in der methode einer anderen methode wirken soll.
Geschweigedenn wenn zyklisch Daten hin und hergeschickt werden...