Доклад Алексея и Евгения на второй встрече Java профессионалов в Одессе 29 июня
1 of 21
Downloaded 16 times
More Related Content
Spring MVC: взгляд с другой стороны
1. Spring MVC: под
другим углом
Июнь 2012
Евгений Скрипник
Алексей Резчиков
SpringByExample.com.ua
@ua_spring
2. О нас
• Java разработчики
• Последние 6 лет работаем со
Spring на всех наших проектах
• TDD, BDD, ATDD, CI, CD and
stuff
• Создатели
SpringByExample.com.ua
2
• А вообще мы прагматики
SpringByExample.com.ua
@ua_spring
3. Что такое 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
6. Недостатки
Логика поделена между презентацией и
контроллером, как результат «тяжелые»
презентации
Отсутствие возможности динамически
обрабатывать события презентации
SpringByExample.com.ua
@ua_spring
6
7. Развитие 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
9. Развитие Web
Отказ от plain HTML в пользу Web 2.0
AJAX (Asynchronous JavaScript and XML)
XML/JSON requests
DOM manipulation and CSS
SpringByExample.com.ua
@ua_spring
9
10. Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
10
11. Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
11
15. Вызовы для MVC: итог
Динамика отображения контента
Интерактивность (Flash / Video)
Мобильные платформы (Browsers vs Native
Apps)
SpringByExample.com.ua
@ua_spring
15
16. Spring MVC 3.x
Компонетнтая модель – контроллер теперь
простой POJO
@Controller
SpringByExample.com.ua
@ua_spring
16
17. Spring MVC 3.x
Использование handler-методов – CRUD +
другая бизнес логика одного доменного
объекта в одном месте
@RequestMapping
SpringByExample.com.ua
@ua_spring
17
Тут нужно как-то красиво написать о необходимости в оптимизации страниц под небольшие размеры экранов, трафик должен быть небольшой, кол-во запросов должно быть значительно меньше, ну и в конечном итоге упоминаем нативные приложения, которые являются полноценной альтернативой браузерам
Тут нужно как-то красиво написать о необходимости в оптимизации страниц под небольшие размеры экранов, трафик должен быть небольшой, кол-во запросов должно быть значительно меньше, ну и в конечном итоге упоминаем нативные приложения, которые являются полноценной альтернативой браузерам
Тут нужно как-то красиво написать о необходимости в оптимизации страниц под небольшие размеры экранов, трафик должен быть небольшой, кол-во запросов должно быть значительно меньше, ну и в конечном итоге упоминаем нативные приложения, которые являются полноценной альтернативой браузерам
http://rstoyanchev.github.com/spring-mvc-31-update/1. Компонентнаямодель, handler-methods (annotated controllers)1a. Model attributes, binders, @Valid, @PathAttribute2. REST & JSON (@ResponseBody, ???)3. Content negotiation?4. Sample app (CRUD for simple bean? workshop?, REST/JSON + HTML5)
http://rstoyanchev.github.com/spring-mvc-31-update/1. Компонентнаямодель, handler-methods (annotated controllers)1a. Model attributes, binders, @Valid, @PathAttribute2. REST & JSON (@ResponseBody, ???)3. Content negotiation?4. Sample app (CRUD for simple bean? workshop?, REST/JSON + HTML5)