Я объявил 2 класса, которые имеют одинаковые члены, но по некоторым причинам разделены.И я реализовал класс util для преобразования этих двух классов в один и тот же класс, как показано ниже.
@Data
@Builder
public class VO1 {
private int id;
private String value1;
private String value2;
...
private String value20;
}
@Data
@Builder
public class VO2 {
private int id;
private String value1;
private String value2;
...
private String value20;
}
@Data
@Builder
public class DomainEntity {
private int id;
private String value1;
private String value2;
...
private String value15;
}
public class Converter {
public static DomainEntity fromVO1(VO1 vo1) {
return DomainEntity.builder.id(vo1.getId())
.value1(vo1.getValue1())
.value2(vo1.getValue2())
...
.value15(vo1.getValue15())
.build();
}
public static DomainEntity fromVO2(VO2 vo2) {
return DomainEntity.builder.id(vo2.getId())
.value1(vo2.getValue1())
.value2(vo2.getValue2())
...
.value15(vo2.getValue15())
.build();
}
}
Теперь у меня есть дубликаты кода в «Конвертере», я хочу их устранить.Конечно, я знаю, что могу использовать наследование, чтобы удалить его.Однако я также хочу использовать 'Lombok', так как эти классы имеют много свойств.А использование наследования делает использование Lombok более сложным.Кто-нибудь знает элегантный способ решить эту ситуацию?
Спасибо.