Ja bym Juliena nie zatrudnił.
mają DTO, ale :
Gdzieś zgubili konwerter (według Twojego wujka boba, to będzie Interface Adapters ). Zresztą... serio:
createUserInformation(userDTO.getLogin(), userDTO.getPassword(),
userDTO.getFirstName(), userDTO.getLastName(), userDTO.getEmail().toLowerCase(),
userDTO.getLangKey());
czy powinien zmiast tego ten serwis przyjąć jednak dto z kontrolera zamiast serii tylu argumentów?
Rozumiem że to pytanie retoryczne, jasne że powinien.
Wydaje mi się że najrozsądniejszym podzieleniem takiej monolitycznej aplikacji jest
Controller(userDTO) -> Facade(userDTO) -> [Interface Adapter] -> Serwis(UserModel) -> DAO -> Baza
Czasem może to być przerost treści nad formą ale to chyba najbardziej przypomina
Ale to chyba jakiś projekt dla jaj, przecież ta https://github.com/jhipster/jhipster-sample-app/blob/master/src/main/java/com/mycompany/myapp/service/UserService.java#L86-L109 klasa to jest człowiek orkiestra, brakuje tam crona który co 24h wysyła maila który zamówi pizze autorowi :/
P.S
yebac DRY
@Async
public void sendActivationEmail(User user, String baseUrl) {
log.debug("Sending activation e-mail to '{}'", user.getEmail());
Locale locale = Locale.forLanguageTag(user.getLangKey());
Context context = new Context(locale);
context.setVariable("user", user);
context.setVariable("baseUrl", baseUrl);
String content = templateEngine.process("activationEmail", context);
String subject = messageSource.getMessage("email.activation.title", null, locale);
sendEmail(user.getEmail(), subject, content, false, true);
}
@Async
public void sendPasswordResetMail(User user, String baseUrl) {
log.debug("Sending password reset e-mail to '{}'", user.getEmail());
Locale locale = Locale.forLanguageTag(user.getLangKey());
Context context = new Context(locale);
context.setVariable("user", user);
context.setVariable("baseUrl", baseUrl);
String content = templateEngine.process("passwordResetEmail", context);
String subject = messageSource.getMessage("email.reset.title", null, locale);
sendEmail(user.getEmail(), subject, content, false, true);
}
to nie powinno się nazywać jhipser tylko jniezlysyf