Grüße,
ich brauche für meine Situation eine sehr allgemeine Schnittstelle: Meine Grafikanwendung soll mehrere verschiedene Renderer-Implementierungen zulassen. Einige dieser Implemtierungen brauche aber Zusatz-Informationen, die sich sehr stark von Implementierung zu Implementierung unterscheiden.
Diese Informationen möchte ich in eine Klasse von Informations-Objekten packen, die eine gemeinsame Schnittstelle haben, deren konkrete Implementierung von Fall zu Fall unterschiedlich(st) ausfällt:
<Interface> Renderer
<Konkrete Implementierung> Renderer A braucht spezielle Information a
<Konkrete Implementierung> Renderer B braucht spezielle Information b
<Interface> Infomation Wie soll das hier aussehen?
<Konkrete Implementierung> Information a
<Konkrete Implementierung> Information b
Jedoch kann ich, wenn ich diese Schnittstelle als Interface umsetzte, keine Methoden finden, die dieses Interface anbieten kann, da die Art und der Typ von Information zu stark variiert.
Ist es "schlechtes" Design wenn das Interface keine Methoden hat und ich in der Implementierung dann auf die konkrete Implementierung casten muss um die speziellen Methoden abzufragen? Wie löst man sowas am besten?
Hoffentlich habe ich mich einigermaßen verständlich ausgedrückt.
ich brauche für meine Situation eine sehr allgemeine Schnittstelle: Meine Grafikanwendung soll mehrere verschiedene Renderer-Implementierungen zulassen. Einige dieser Implemtierungen brauche aber Zusatz-Informationen, die sich sehr stark von Implementierung zu Implementierung unterscheiden.
Diese Informationen möchte ich in eine Klasse von Informations-Objekten packen, die eine gemeinsame Schnittstelle haben, deren konkrete Implementierung von Fall zu Fall unterschiedlich(st) ausfällt:
<Interface> Renderer
<Konkrete Implementierung> Renderer A braucht spezielle Information a
<Konkrete Implementierung> Renderer B braucht spezielle Information b
<Interface> Infomation Wie soll das hier aussehen?
<Konkrete Implementierung> Information a
<Konkrete Implementierung> Information b
Jedoch kann ich, wenn ich diese Schnittstelle als Interface umsetzte, keine Methoden finden, die dieses Interface anbieten kann, da die Art und der Typ von Information zu stark variiert.
Ist es "schlechtes" Design wenn das Interface keine Methoden hat und ich in der Implementierung dann auf die konkrete Implementierung casten muss um die speziellen Methoden abzufragen? Wie löst man sowas am besten?
Hoffentlich habe ich mich einigermaßen verständlich ausgedrückt.