Какой подход проверки действительно прав? Первый из них:Хорошая практика: действительная собственность против метода isValid()?
public class Order {
...
private boolean valid;
public boolean isValid() {
return valid;
}
public boolean setValid(boolean valid) {
this.valid = valid;
}
// getters, setters, etc.
}
где valid
хранится как логическое значение в БД и установить с помощью Java кода где-нибудь еще, например, в DAO.
Или второй один:
public class Order {
...
public boolean isValid() {
// some business code, e.g.:
return !orderItems.isEmpty();
}
// getters, setters, etc.
}
, где мы не имеем valid
значение keeped в БД, но каждый раз, когда это необходимо оно было рассчитано по требованию.
Какой подход лучше?
Я думаю, что второй подход лучше. Нахождение вашей базы данных обычно дороже, чем простое вычисление. – Susie
Но 'orderItems' также принадлежит этому объекту и базе данных, поэтому каждый раз, когда мы вычисляем' isValid() ', мы используем многие свойства базы данных. – dmydlarz
Я не знаю, используете ли вы Spring Framework, но есть какая-то интересная информация о проверке в своих документах: http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html /validation.html –