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

Post on 02-Jul-2015

2.710 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

oleksiy.rezchykov@gmail.comeugene.scripnik@gmail.com

SpringByExample.com.ua

SpringByExample.com.ua

@ua_spring

21

top related