У меня есть супер класс под названием Трансформатор. и у меня есть два производных класса, которые преобразуют класс A в B и наоборот. Существуют классы:Как избежать дублирования кода в объектах перевода?
class A{
private Long id;
private String name;
... getter and setters
}
class B{
private Long id;
private String name;
... getter and setters
}
interface Transformer<S,D> {
D convert(S source);
}
class ATransformer implements Transformer<A,B>{
public B convert(A a){
B b=new B();
b.setId(a.getId());
.....
return b;
}
}
class BTransformer implements Transformer<B,A>{
public A convert(B b){
A a=new A();
a.setId(b.getId());
.....
return a;
}
}
Как вы видите, производные классы трансформаторов имеют повторяющиеся коды. Есть ли какой-либо дизайн или решение, чтобы избежать дублирования без использования рефлексии?
Кажется, вам не нужны несколько классов. –
В чем разница между А и В, отличной от имени класса? –
@ cricket_007 например A - это мое сущность, а B - мое dto – Pooya