Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, GreenTea, Вы писали:
GT>>Чуть расширенная версия статьи с хабра, для тех кто еще не видел
GT>>http://brunneng.blogspot.com/2013/10/java-object-merger.html
B>Статья как раз для хабра. У вас есть кривой код? У нас есть для него фреймверк!
На хабре уже есть более ранняя версия этой статьи.
B>В итоге может оказатся, что существенной разницы между
B>B>personVO.setFirstName(person.getFirstName());
B>person.setFirstName(personVO.getFirstName());
B>
B>супротив аналогичного кода на API маппера не имеется.
Для случая совпадения имен между полями на API маппера вообще ничего не нужно делать. Это определяется автоматически.
B>От себя хочу отметить, что в нормальном дизайне приложения такой ерунды как перекладывания свойств туда-сюда между (тремя!) слоями нет.
B>BO чудестно можно использовать на всех слоях вместо DTO и VO. Вводя последние лишь в отдельных случаях, когда нужна агрегация и специальная оптимизация.
Все зависит от размера приложения. Если что-то мелкое — то да. А если одни и те же данные имеют множество представлений в разных местах, то приходится вводить вьюшки. Та и если вы веб сервиса пишете где нужно просто иначе группировать данные, и dto шки для него генерятся по wsdl.. Насчет 3 слоев, это я описал все таки крайний случай, на моей практике маппинг был максимум между 2 слоями.