Witam,
Mamy w projekcie mapowanie pomiędzy encjami a obiektami dto. Do konwersji wykorzystujemy dozera. Zapewne dla wygody powstała klasa, która zawiera tylko metody do mapowania z encji na dto i odwrotnie. Wygląda mniej więcej tak:
public class DozerConverter {
Mapper mapper = new DozerBeanMapper();
public UserDTO convert(User user) {
return mapper.map(user, UserDTO.class);
}
public User convert(UserDTO userDTO) {
return mapper.map(userDTO, User.class);
}
}
Potencjalny problem polega na tym, że jeśli będziemy chcieli dodać kolejny zestaw encja/dto to będziemy zmuszeni zmodyfikować powyższą klasę. Kłóci się to z zasadą open-closed.
Pytanie czy ta klasa ma w ogóle sens? Została napisana chyba tylko po to, żeby nie trzeba było podawać w argumencie metody Mapper.map() klasy obiektu docelowego.
Co polecilibyście zrobić?
- Usunąć
- Refactor
- Niepotrzebnie się czepiam