ЦВЕТНАЯ МЕТАЛЛУРГИЯ КАЗАХСТАНА - ВЗГЛЯД В БУДУЩЕЕ СО СТОРОНЫ
Spring MVC: взгляд с другой стороны
-
Upload
springbyexample -
Category
Technology
-
view
2.701 -
download
0
description
Transcript of Spring MVC: взгляд с другой стороны
![Page 1: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/1.jpg)
Spring MVC: под другим углом
Июнь 2012Евгений СкрипникАлексей Резчиков
SpringByExample.com.ua
@ua_spring
![Page 2: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/2.jpg)
О нас
SpringByExample.com.ua
@ua_spring
2
• Java разработчики
• Последние 6 лет работаем со
Spring на всех наших проектах
• TDD, BDD, ATDD, CI, CD and
stuff
• Создатели
SpringByExample.com.ua
• А вообще мы прагматики
![Page 3: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/3.jpg)
Что такое 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
![Page 4: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/4.jpg)
Что такое MVC?
SpringByExample.com.ua
@ua_spring
4
![Page 5: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/5.jpg)
Преимущества
Разделение логики
Большое количество реализаций
SpringByExample.com.ua
@ua_spring
5
![Page 6: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/6.jpg)
Недостатки
Логика поделена между презентацией и контроллером, как результат «тяжелые» презентации
Отсутствие возможности динамически обрабатывать события презентации
SpringByExample.com.ua
@ua_spring
6
![Page 7: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/7.jpg)
Развитие 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
![Page 8: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/8.jpg)
MVP
SpringByExample.com.ua
@ua_spring
8
![Page 9: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/9.jpg)
Развитие Web
Отказ от plain HTML в пользу Web 2.0
AJAX (Asynchronous JavaScript and XML)
XML/JSON requests
DOM manipulation and CSS
SpringByExample.com.ua
@ua_spring
9
![Page 10: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/10.jpg)
Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
10
![Page 11: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/11.jpg)
Развитие Web
Отказ от plain HTML в пользу Web 2.0
SpringByExample.com.ua
@ua_spring
11
![Page 12: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/12.jpg)
Мобильный Web
Оптимизация страниц под размер экрана
SpringByExample.com.ua
@ua_spring
12
![Page 13: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/13.jpg)
Мобильный Web
Уменьшение трафика и кол-ва запросов (3G)
SpringByExample.com.ua
@ua_spring
13
![Page 14: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/14.jpg)
Мобильный Web
Нативные приложения
SpringByExample.com.ua
@ua_spring
14
![Page 15: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/15.jpg)
Вызовы для MVC: итог
Динамика отображения контента
Интерактивность (Flash / Video)
Мобильные платформы (Browsers vs NativeApps)
SpringByExample.com.ua
@ua_spring
15
![Page 16: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/16.jpg)
Spring MVC 3.x
Компонетнтая модель – контроллер теперь простой POJO
@Controller
SpringByExample.com.ua
@ua_spring
16
![Page 17: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/17.jpg)
Spring MVC 3.x
Использование handler-методов – CRUD + другая бизнес логика одного доменного объекта в одном месте
@RequestMapping
SpringByExample.com.ua
@ua_spring
17
![Page 18: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/18.jpg)
Spring MVC 3.x
@RequestParam
@PathVariable
@Valid
@ModelAttrubute
@InitBinder
SpringByExample.com.ua
@ua_spring
18
![Page 19: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/19.jpg)
Spring 3.x
И наконец:
@ResponseBody – REST + JSON
@ResponseStatus
Content negotiation
SpringByExample.com.ua
@ua_spring
19
![Page 20: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/20.jpg)
Demo
SpringByExample.com.ua
@ua_spring
20
![Page 21: Spring MVC: взгляд с другой стороны](https://reader036.fdocument.pub/reader036/viewer/2022081502/5594ae021a28ab920e8b47b6/html5/thumbnails/21.jpg)
Вопросы@ua_spring
[email protected]@gmail.com
SpringByExample.com.ua
SpringByExample.com.ua
@ua_spring
21