Ich hab mal ne eher allgeime Problemstellung.
Ich habe eine selbstentwickelte Anwendung, die könnt ihr euch vielleicht ähnlich wie Visio vorstellen. Ich habe also grafische Objekte, die ich per Drag&Drop in eine Arbeitsfläche ziehen und dort verbinden kann.
Jedes dieser grafischen Objekte hat eine eigene Klasse als Grundlage, das Ganze kann ich derzeit in XML speichern und laden, später kommt noch die Anbindung an ein System hinzu, um die Objekte mit Daten aus dem System zu verknüpfen. Nun wird es analog zu Visio verschiedene Bibliotheken mit grafischen Objekten geben.
Soweit sogut.
Problem:
Beim Laden/Speichern und Sachen wie dem Anzeigen von kontekxt-sensitiven Popup-Menüs müss ich ja immer die Objektliste des Dokuments durchlaufen und mit einem ellenlangen if(instanceof)-else-Zweig spreche ich die Methoden der verschiedenen Klassen an.
Nun möchte ich das Ganze nach Möglichkeit dahingehend entzerren, dass irgendwo in einer Liste oder ähnlichem eine Zuordnung zwischen Klasse und Methoden festgelegt werden kann, die in den verschiedenen Fällen aufgerufen werden sollen, nach Möglichkeit so, dass ich nicht für jedes neue grafische Objekt überall den if-else-Zwei erweitern muss. Am elegantesten wäre eine Art Plugin-Architektur, so dass eine neue Bibliothek einzeln verschickt und eingefügt werden kann, anstatt da jeweils ne kundenspezifische Version zu der kompletten Anwendung zu backen.
Ich dachte mir, sowas sei vielleicht über Reflection machbar, aber mir fehlt irgendwie noch die kritische Masse im Kopf, ehe es "klick" macht. Vielleicht hat von euch ja mal ne Idee?
Ich habe eine selbstentwickelte Anwendung, die könnt ihr euch vielleicht ähnlich wie Visio vorstellen. Ich habe also grafische Objekte, die ich per Drag&Drop in eine Arbeitsfläche ziehen und dort verbinden kann.
Jedes dieser grafischen Objekte hat eine eigene Klasse als Grundlage, das Ganze kann ich derzeit in XML speichern und laden, später kommt noch die Anbindung an ein System hinzu, um die Objekte mit Daten aus dem System zu verknüpfen. Nun wird es analog zu Visio verschiedene Bibliotheken mit grafischen Objekten geben.
Soweit sogut.
Problem:
Beim Laden/Speichern und Sachen wie dem Anzeigen von kontekxt-sensitiven Popup-Menüs müss ich ja immer die Objektliste des Dokuments durchlaufen und mit einem ellenlangen if(instanceof)-else-Zweig spreche ich die Methoden der verschiedenen Klassen an.
Nun möchte ich das Ganze nach Möglichkeit dahingehend entzerren, dass irgendwo in einer Liste oder ähnlichem eine Zuordnung zwischen Klasse und Methoden festgelegt werden kann, die in den verschiedenen Fällen aufgerufen werden sollen, nach Möglichkeit so, dass ich nicht für jedes neue grafische Objekt überall den if-else-Zwei erweitern muss. Am elegantesten wäre eine Art Plugin-Architektur, so dass eine neue Bibliothek einzeln verschickt und eingefügt werden kann, anstatt da jeweils ne kundenspezifische Version zu der kompletten Anwendung zu backen.
Ich dachte mir, sowas sei vielleicht über Reflection machbar, aber mir fehlt irgendwie noch die kritische Masse im Kopf, ehe es "klick" macht. Vielleicht hat von euch ja mal ne Idee?