SlideShare a Scribd company logo
1 of 21
TulaDev.NET ASP.NET MVC Принципы работы и внутреннее устройство Андрей Кулешов Codemasters International Senior C# Developer, Team Lead akuleshov@codereign.net | http://www.codemastersintl.com/Blogs/Andrey-Kuleshov
Что будет: ASP.NET Web Forms – что произошло? Model-View-Controller MVC с точки зрения веб-сервера Пара параметров – controller и action
Почему перестало хватать Web Forms? ,[object Object]
 Одно из декларированных преимуществ – не нужно учить HTML – всё происходит на сервере (высокий уровень абстракции)
 Потому что в далекие времена ничего хорошего на клиенте происходить не могло
Высокая сложность JavaScript – у каждого браузера свой диалект, отсутствие широко распространенных фреймворков,[object Object]
 Одно из декларированных преимуществ – не нужно учить HTML – всё происходит на сервере (высокий уровень абстракции)
 Потому что в далекие времена ничего хорошего на клиенте происходить не могло
Высокая сложность JavaScript – у каждого браузера свой диалект, отсутствие широко распространенных фреймворковЧто случилось? ,[object Object]
 JavaScript фреймворки(jQuery, Yahoo)
Расширение возможностей браузеров
Юнит-тестирование,[object Object]
Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
Контроллер(Controller). Интерпретирует данные, введённые пользователем, и информирует модель и представление о необходимости соответствующей реакции.
 модель независима от визуального представления
 для одной и той же модели можно создавать различные представления,[object Object]
открытым к модификациям и рефакторингу
повторно используемым
управляемым
масштабируемым,[object Object]
Демо TulaMvc

More Related Content

What's hot

Как и зачем мы тестируем UI
Как и зачем мы тестируем UIКак и зачем мы тестируем UI
Как и зачем мы тестируем UIVyacheslav Lyalkin
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...GoSharp
 
Azure - хранение данных в облаке
Azure - хранение данных в облакеAzure - хранение данных в облаке
Azure - хранение данных в облакеAlexander Babich
 
AntonSaburov (Gemini-Systems) @ CodeCamp2011
AntonSaburov (Gemini-Systems) @ CodeCamp2011AntonSaburov (Gemini-Systems) @ CodeCamp2011
AntonSaburov (Gemini-Systems) @ CodeCamp2011CodeCamp
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Fwdays
 
Будущее ASP.NET
Будущее ASP.NETБудущее ASP.NET
Будущее ASP.NETGoSharp
 
66 - Spring. Spring и JSF
66 - Spring. Spring и JSF66 - Spring. Spring и JSF
66 - Spring. Spring и JSFRoman Brovko
 
Workflow Foundation
Workflow FoundationWorkflow Foundation
Workflow FoundationGetDev.NET
 
The MVC Renaissance | Возрождение MVC
The MVC Renaissance | Возрождение MVCThe MVC Renaissance | Возрождение MVC
The MVC Renaissance | Возрождение MVCBulat Khabirov
 
141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVC141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVCRoman Brovko
 
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир Дупелев
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир ДупелевRich-client, или Как я перестал боятся и полюбил велосипеды / Владимир Дупелев
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир ДупелевOntico
 
Dotnet development
Dotnet developmentDotnet development
Dotnet developmentMageCloud
 
презентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ruпрезентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ruIvan Gromov
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIautomated-testing.info
 
CMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииCMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииMedia Gorod
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоMicrosoft
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
ASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevAlex Tumanoff
 

What's hot (20)

Как и зачем мы тестируем UI
Как и зачем мы тестируем UIКак и зачем мы тестируем UI
Как и зачем мы тестируем UI
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
 
Azure - хранение данных в облаке
Azure - хранение данных в облакеAzure - хранение данных в облаке
Azure - хранение данных в облаке
 
AntonSaburov (Gemini-Systems) @ CodeCamp2011
AntonSaburov (Gemini-Systems) @ CodeCamp2011AntonSaburov (Gemini-Systems) @ CodeCamp2011
AntonSaburov (Gemini-Systems) @ CodeCamp2011
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
 
Будущее ASP.NET
Будущее ASP.NETБудущее ASP.NET
Будущее ASP.NET
 
66 - Spring. Spring и JSF
66 - Spring. Spring и JSF66 - Spring. Spring и JSF
66 - Spring. Spring и JSF
 
Workflow Foundation
Workflow FoundationWorkflow Foundation
Workflow Foundation
 
The MVC Renaissance | Возрождение MVC
The MVC Renaissance | Возрождение MVCThe MVC Renaissance | Возрождение MVC
The MVC Renaissance | Возрождение MVC
 
141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVC141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVC
 
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир Дупелев
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир ДупелевRich-client, или Как я перестал боятся и полюбил велосипеды / Владимир Дупелев
Rich-client, или Как я перестал боятся и полюбил велосипеды / Владимир Дупелев
 
Dotnet development
Dotnet developmentDotnet development
Dotnet development
 
презентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ruпрезентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ru
 
MVC CTPP
MVC CTPPMVC CTPP
MVC CTPP
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UI
 
CMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииCMS как SaaS. Российские реалии
CMS как SaaS. Российские реалии
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облако
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
ASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton Vidishchev
 

Similar to ASP.NET MVC

ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCGetDev.NET
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлетыalexey1991
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
Стандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхСтандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхMagecom Ukraine
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.Igor Shkulipa
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Ilya Kaznacheev
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBFedor Malyshkin
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theoryDevOWL Meetup
 
Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектированияITCP Community
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложенийJack Chikovany
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava introalexey1991
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнрRauan Ibraikhan
 
Технология MVC в высоконагруженных проектах
Технология MVC в высоконагруженных проектахТехнология MVC в высоконагруженных проектах
Технология MVC в высоконагруженных проектахMedia Gorod
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 

Similar to ASP.NET MVC (20)

ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлеты
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
Стандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхСтандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложениях
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theory
 
Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектирования
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
Сервлеты
СервлетыСервлеты
Сервлеты
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложений
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava intro
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнр
 
Технология MVC в высоконагруженных проектах
Технология MVC в высоконагруженных проектахТехнология MVC в высоконагруженных проектах
Технология MVC в высоконагруженных проектах
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 

More from GetDev.NET

Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееGetDev.NET
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистовGetDev.NET
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеGetDev.NET
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015GetDev.NET
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революцияGetDev.NET
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковGetDev.NET
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКGetDev.NET
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIGetDev.NET
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013GetDev.NET
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...GetDev.NET
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego MindstormsGetDev.NET
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8GetDev.NET
 
Async Javascript
Async JavascriptAsync Javascript
Async JavascriptGetDev.NET
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложенийGetDev.NET
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language RuntimeGetDev.NET
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиGetDev.NET
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервисGetDev.NET
 

More from GetDev.NET (20)

Go
GoGo
Go
 
Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
AngularJS
AngularJSAngularJS
AngularJS
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
 

ASP.NET MVC