chickenwings
Erfahrenes Mitglied
Hallo,
ich versuche schon seit geraumer Zeit eine elgente Lösung für ein Architekturproblem zu finden, scheitere aber immer.
Vielleicht sieht einer eine Lösung und kann mir kurze Hilfestellung leisten.
Bei dem Problem geht es in erster Linie darum, "duplicate code" zu vermeiden.
ich habe eine Methode, die ich ständig sechs mal kopiert habe. Jede Methode unterscheidet sich in nur zwei Zeilen. Das roblem sind, denke ich die Generics:
Meine sechs Methoden, sind dieser Art:
Result ist als Typisierte Klasse vom Typ <E extends AbstractClass> implementiert.
Meine Konkreten Klassen erweitern AbstractClass.
Nur, wie ist es möglich, nur eine Methode, nach dem obigen Muster zu haben?
Ich habe bereits versucht den Abstrakten Datentyp als Typiserungs Parameter in Result einzutragen, aber das wird nichts, ebenso wenig funktioniert der Konstrukt <? extends AbstractClass>
hat jemand einen Tipp?
Danke
chickenwings
ich versuche schon seit geraumer Zeit eine elgente Lösung für ein Architekturproblem zu finden, scheitere aber immer.
Vielleicht sieht einer eine Lösung und kann mir kurze Hilfestellung leisten.
Bei dem Problem geht es in erster Linie darum, "duplicate code" zu vermeiden.
ich habe eine Methode, die ich ständig sechs mal kopiert habe. Jede Methode unterscheidet sich in nur zwei Zeilen. Das roblem sind, denke ich die Generics:
Meine sechs Methoden, sind dieser Art:
Code:
private Result<KonkreteKlasseA> methode(KonkreteKlasseA a){
Result<KonkreteKlasseA> result = new Result<KonkreteKlasseA>();
...
mache irgendwas
...
return result;
}
private Result<KonkreteKlasseB> methode(KonkreteKlasseB b){
Result<KonkreteKlasseB> result = new Result<KonkreteKlasseB>();
...
mache irgendwas
...
return result;
}
u.s.w.
Result ist als Typisierte Klasse vom Typ <E extends AbstractClass> implementiert.
Meine Konkreten Klassen erweitern AbstractClass.
Nur, wie ist es möglich, nur eine Methode, nach dem obigen Muster zu haben?
Ich habe bereits versucht den Abstrakten Datentyp als Typiserungs Parameter in Result einzutragen, aber das wird nichts, ebenso wenig funktioniert der Konstrukt <? extends AbstractClass>
hat jemand einen Tipp?
Danke
chickenwings