Ich habe ein kleinens Architekturproblem. Vielleit hat jemand eine Idee wie man das am einfachsten lösen kann.
Ist Stand:
Es gibt eine Klasse AbstractProceeding, von der sind mehrere Klassen abgeleitet, z.B. SampleCounting1D, SampleCounting2D, SampleCounting3D, EvnetCounting1D,...
Die abstrakte Klasse enthält verschiedene Metadaten die für alle Unterklassen gleich sind.
Die unterklassen unterscheiden siche anhand der Werte die sie enthalten. Außerdem implementieren sie verschiedene interfaces mit set() und get().
SampleCounting1D z.B. int[]
SampleCounting2D z.B. int[][]
SampleCounting3D z.B. int[][][]
Es kommen manchmal neue Klassen hinzu die sich in kleinigkeiten von den anderen unterscheiden können. Die Klassen enthalten immer einen Array 1D, 2D oder 3D.
Um die Daten aus den Unterklassen auszuelesen brauche ich natürlich verschiedene Methoden mit verschiedenen Rückgabewerten. z.B. int[] getData();
Object möchte ich eigentlich nicht als rückgabewert haben, da ich wenn möglich nicht casten will.
Gibt es vielleicht ein Pattern mit dem ich das ganze vereinfachen kann, um die Daten einfacher auslesen zu können? Ich habe schon ein wenig mit dem Bridge Pattern experimentiert. Hat
Ist Stand:
Es gibt eine Klasse AbstractProceeding, von der sind mehrere Klassen abgeleitet, z.B. SampleCounting1D, SampleCounting2D, SampleCounting3D, EvnetCounting1D,...
Die abstrakte Klasse enthält verschiedene Metadaten die für alle Unterklassen gleich sind.
Die unterklassen unterscheiden siche anhand der Werte die sie enthalten. Außerdem implementieren sie verschiedene interfaces mit set() und get().
SampleCounting1D z.B. int[]
SampleCounting2D z.B. int[][]
SampleCounting3D z.B. int[][][]
Es kommen manchmal neue Klassen hinzu die sich in kleinigkeiten von den anderen unterscheiden können. Die Klassen enthalten immer einen Array 1D, 2D oder 3D.
Um die Daten aus den Unterklassen auszuelesen brauche ich natürlich verschiedene Methoden mit verschiedenen Rückgabewerten. z.B. int[] getData();
Object möchte ich eigentlich nicht als rückgabewert haben, da ich wenn möglich nicht casten will.
Gibt es vielleicht ein Pattern mit dem ich das ganze vereinfachen kann, um die Daten einfacher auslesen zu können? Ich habe schon ein wenig mit dem Bridge Pattern experimentiert. Hat