spring mvc: взгляд с другой стороны
DESCRIPTION
Доклад Алексея и Евгения на второй встрече Java профессионалов в Одессе 29 июняTRANSCRIPT
Spring MVC: под другим углом
Июнь 2012Евгений СкрипникАлексей Резчиков
SpringByExample.com.ua
@ua_spring
О нас
SpringByExample.com.ua
@ua_spring
2
• Java разработчики
• Последние 6 лет работаем со
Spring на всех наших проектах
• TDD, BDD, ATDD, CI, CD and
stuff
• Создатели
SpringByExample.com.ua
• А вообще мы прагматики
Что такое MVC?
Model–View–Controller (MVC) is a software design for interactive computer user interfaces that separates the representation of information from the user's interaction with it.
SpringByExample.com.ua
@ua_spring
3
Что такое MVC?
SpringByExample.com.ua
@ua_spring
4
Преимущества
Разделение логики
Большое количество реализаций
SpringByExample.com.ua
@ua_spring
5
Недостатки
Логика поделена между презентацией и контроллером, как результат «тяжелые» презентации
Отсутствие возможности динамически обрабатывать события презентации
SpringByExample.com.ua
@ua_spring
6
Развитие MVC: MVP
Model–view–presenter (MVP) is a derivative of the model–view–controller (MVC) software pattern, also used mostly for building user interfaces.
In MVP the presenter assumes the functionality of the "middle-man" (played by the controller in MVC). Additionally, the view is responsible for handling the UI events (like mouseDown, keyDown, etc.), which used to be the controller's job. Eventually, the model becomes strictly a domain model.
SpringByExample.com.ua
@ua_spring
7
MVP
SpringByExample.com.ua
@ua_spring
8
Развитие Web
Отказ от plain HTML в пользу Web 2.0
AJAX (Asynchronous JavaScript and XML)
XML/JSON requests
DOM manipulation and CSS
SpringByExample.com.ua
@ua_spring
9
Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
10
Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
11
Мобильный Web
Оптимизация страниц под размер экрана
SpringByExample.com.ua
@ua_spring
12
Мобильный Web
Уменьшение трафика и кол-ва запросов (3G)
SpringByExample.com.ua
@ua_spring
13
Мобильный Web
Нативные приложения
SpringByExample.com.ua
@ua_spring
14
Вызовы для MVC: итог
Динамика отображения контента
Интерактивность (Flash / Video)
Мобильные платформы (Browsers vs NativeApps)
SpringByExample.com.ua
@ua_spring
15
Spring MVC 3.x
Компонетнтая модель – контроллер теперь простой POJO
@Controller
SpringByExample.com.ua
@ua_spring
16
Spring MVC 3.x
Использование handler-методов – CRUD + другая бизнес логика одного доменного объекта в одном месте
@RequestMapping
SpringByExample.com.ua
@ua_spring
17
Spring MVC 3.x
@RequestParam
@PathVariable
@Valid
@ModelAttrubute
@InitBinder
SpringByExample.com.ua
@ua_spring
18
Spring 3.x
И наконец:
@ResponseBody – REST + JSON
@ResponseStatus
Content negotiation
SpringByExample.com.ua
@ua_spring
19
Demo
SpringByExample.com.ua
@ua_spring
20
Вопросы@ua_spring
[email protected]@gmail.com
SpringByExample.com.ua
SpringByExample.com.ua
@ua_spring
21