Я работаю над Java-приложением и у меня есть несколько вопросов относительно дизайна.
В основном в своей текущей версии он в значительной степени полагается на перехват исключений для определения потока управления .
Например, в одном из моих весенних классов обслуживания у меня есть следующий метод, который проверяет, существует ли в базе данных электронная почта, указанная в качестве параметра.
@Override
public boolean validateEmailAddressDoesNotExist(String accountEmailAddress) {
try {
return !dao.checkIfEmailAddressAlreadyExists(accountEmailAddress);
} catch (NoResultException re) {
log.error("NoResultException", re);
} catch (RuntimeException re) {
log.error("RuntimeException", re);
}
return true;
}
//from "dao" class
public boolean checkIfEmailAddressAlreadyExists(String accountEmailAddress) {
return (loadAccountFromAccountEmailAddress(accountEmailAddress) == null ? false : true);
}
//also from "dao" class
public Account loadAccountFromAccountEmailAddress(String accountEmailAddress) {
return entityManager.createNamedQuery("Account.findByEmailAddress", Account.class).setParameter("accountEmailAddress", accountEmailAddress).getSingleResult();
}
Я подозреваю, что мой текущий дизайн, вероятно, неверен, но я был бы признателен за чтение ваших комментариев и мнений по этому поводу и в какой степени вы считаете, что это неправильно.