Javabeans с вычислимыми или производными свойствами
Недавно я попал в сценарий в веб-приложении, где у меня есть Java-бин с дополнительным атрибутом, который вычисляется на основе других атрибутов. Например, я мог бы испытать желание написать этот javabean (сделано так для простоты и ясности).
class DTO {
private int a;
private int b;
// setters and getters for a and b
public int dif () {
return a - b;
}
}
Первый вопрос: плохо ли добавлять какое-то поведение в боб?
Вопрос на несколько секунд и более технический вопрос, связанный с Spring MVC: если я хочу отобразить внутри JSP результат этого метода, как я могу это сделать?
Через поиск в Google я нашел несколько способов добиться этого.
Из-за архитектуры приложения я не могу использовать ни 2, ни 3.
Я также подумал о создании свойства, которое можно вычислить как другой атрибут, а также в методе доступа get и поведении для расчета. Но я думаю, что это не очень хороший подход из-за простого факта, что "get" - это метод для доступа к значениям, а не для вычисления значений. Две разные вещи, и метод всегда должен делать то, что говорит.