spring mvc: взгляд с другой стороны

21
Spring MVC: под другим углом Июнь 2012 Евгений Скрипник Алексей Резчиков SpringByExample.com.ua @ua_spring

Upload: springbyexample

Post on 02-Jul-2015

2.700 views

Category:

Technology


0 download

DESCRIPTION

Доклад Алексея и Евгения на второй встрече Java профессионалов в Одессе 29 июня

TRANSCRIPT

Page 1: Spring MVC: взгляд с другой стороны

Spring MVC: под другим углом

Июнь 2012Евгений СкрипникАлексей Резчиков

SpringByExample.com.ua

@ua_spring

Page 2: Spring MVC: взгляд с другой стороны

О нас

SpringByExample.com.ua

@ua_spring

2

• Java разработчики

• Последние 6 лет работаем со

Spring на всех наших проектах

• TDD, BDD, ATDD, CI, CD and

stuff

• Создатели

SpringByExample.com.ua

• А вообще мы прагматики

Page 3: Spring MVC: взгляд с другой стороны

Что такое 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: взгляд с другой стороны

Что такое MVC?

SpringByExample.com.ua

@ua_spring

4

Page 5: Spring MVC: взгляд с другой стороны

Преимущества

Разделение логики

Большое количество реализаций

SpringByExample.com.ua

@ua_spring

5

Page 6: Spring MVC: взгляд с другой стороны

Недостатки

Логика поделена между презентацией и контроллером, как результат «тяжелые» презентации

Отсутствие возможности динамически обрабатывать события презентации

SpringByExample.com.ua

@ua_spring

6

Page 7: Spring MVC: взгляд с другой стороны

Развитие 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: взгляд с другой стороны

MVP

SpringByExample.com.ua

@ua_spring

8

Page 9: Spring MVC: взгляд с другой стороны

Развитие 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: взгляд с другой стороны

Развитие Web

Отказ от plain HTML в пользу Web 2.0

SpringByExample.com.ua

@ua_spring

10

Page 11: Spring MVC: взгляд с другой стороны

Развитие Web

Отказ от plain HTML в пользу Web 2.0

SpringByExample.com.ua

@ua_spring

11

Page 12: Spring MVC: взгляд с другой стороны

Мобильный Web

Оптимизация страниц под размер экрана

SpringByExample.com.ua

@ua_spring

12

Page 13: Spring MVC: взгляд с другой стороны

Мобильный Web

Уменьшение трафика и кол-ва запросов (3G)

SpringByExample.com.ua

@ua_spring

13

Page 14: Spring MVC: взгляд с другой стороны

Мобильный Web

Нативные приложения

SpringByExample.com.ua

@ua_spring

14

Page 15: Spring MVC: взгляд с другой стороны

Вызовы для MVC: итог

Динамика отображения контента

Интерактивность (Flash / Video)

Мобильные платформы (Browsers vs NativeApps)

SpringByExample.com.ua

@ua_spring

15

Page 16: Spring MVC: взгляд с другой стороны

Spring MVC 3.x

Компонетнтая модель – контроллер теперь простой POJO

@Controller

SpringByExample.com.ua

@ua_spring

16

Page 17: Spring MVC: взгляд с другой стороны

Spring MVC 3.x

Использование handler-методов – CRUD + другая бизнес логика одного доменного объекта в одном месте

@RequestMapping

SpringByExample.com.ua

@ua_spring

17

Page 18: Spring MVC: взгляд с другой стороны

Spring MVC 3.x

@RequestParam

@PathVariable

@Valid

@ModelAttrubute

@InitBinder

SpringByExample.com.ua

@ua_spring

18

Page 19: Spring MVC: взгляд с другой стороны

Spring 3.x

И наконец:

@ResponseBody – REST + JSON

@ResponseStatus

Content negotiation

SpringByExample.com.ua

@ua_spring

19

Page 20: Spring MVC: взгляд с другой стороны

Demo

SpringByExample.com.ua

@ua_spring

20

Page 21: Spring MVC: взгляд с другой стороны

Вопросы@ua_spring

[email protected]@gmail.com

SpringByExample.com.ua

SpringByExample.com.ua

@ua_spring

21