SlideShare a Scribd company logo
1 of 29
Основы использования MVC
ItEvent
Черников Андрей
Что мы знаем
Архитектура компьютера
Базы Данных
Сетевые технологии
Web-технологии
Операционные системы
Пользовательский интерфейс (кнопочки, рюшечки)
Разработка программного обеспечения
21.10.2010 Черников Андрей.
Основы использования MVC
Что нам понадобится счас
Знание языка программирования
ООП (классы и интерфейсы)
Что такое браузер, web-сервер, http-запрос
Базы данных (немного)
Работа с репозиториями (SVN, TFS,
SourceSafe, Mercurial)
21.10.2010 Черников Андрей. Основы
использования MVC
Как это видит пользователь?
21.10.2010 Черников Андрей. Основы
использования MVC
МАГИЯ
РАЗРАБОТКА
ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
21.10.2010 Черников Андрей. Основы
использования MVC
Работа в команде
(взаимодействие)
21.10.2010 Черников Андрей. Основы
использования MVC
Работа в команде
(взаимодействие)
21.10.2010 Черников Андрей. Основы
использования MVC
Масштабирование
21.10.2010 Черников Андрей. Основы
использования MVC
Поиск ошибок
21.10.2010 Черников Андрей. Основы
использования MVC
Непредвиденные изменения
21.10.2010 Черников Андрей. Основы
использования MVC
Что такое MVC
Model (Модель)
View (Представление)
Controller (Контроллер)
21.10.2010 Черников Андрей. Основы
использования MVC
Модель
Модель – это объектная среда. Тут собраны
все объекты, которые несут информацию.
21.10.2010 Черников Андрей. Основы
использования MVC
Представление
Представление – это среда взаимодействия с
пользователем.
Пользовательский интерфейс
Собственно, все те кнопочки, поля и
остальное
21.10.2010 Черников Андрей. Основы
использования MVC
Контроллер
Контроллер – это часть управления, т.е.
подготовка данных к выводу
валидация введенных данных
21.10.2010 Черников Андрей. Основы
использования MVC
Отличие от MVP
21.10.2010 Черников Андрей. Основы
использования MVC
Реализация
21.10.2010 Черников Андрей. Основы
использования MVC
Тут наверно надо
что-то показать.
21.10.2010 Черников Андрей. Основы
использования MVC
MVC
21.10.2010 Черников Андрей. Основы
использования MVC
Браузер
Http-запрос
Контроллер
МодельПредставление
Http-ответ
Для чего это надо
Уменьшение связности
Упрощение тестирования
Упрощение внесения измений
21.10.2010 Черников Андрей. Основы
использования MVC
IoC
IoC (инверсирование контроля)
«Не звони мне, я сам тебе позвоню»
Взаимодействие не через классы, а через
абстракции
Все правила создания абстракции находятся в
одном месте
(Spring, Unity, Castle Windsor, Ninject)
21.10.2010 Черников Андрей. Основы
использования MVC
AoP (как следствие)
Аспектно-ориентированное
программирование
Валидация
Авторизация
Протоколирование
Сам MVC (его реализации)
21.10.2010 Черников Андрей. Основы
использования MVC
TDD
TDD – test driven development
Красно-зеленое тестирование
21.10.2010 Черников Андрей. Основы
использования MVC
1. Извлекаем систему в состоянии работы
2. Добавляется новый тест
3. Успешно выполняется весь набор тестов, кроме
этого
4. Программа изменяется так, чтобы как можно
скорее выполнялись все тесты
5. Весь набор тестов выполняется успешно
6. Делаем рефакторинг
7. Весь набор тестов выполняется успешно
8. Всё добавляем в репозиторий
21.10.2010 Черников Андрей. Основы
использования MVC
Заключение
Плюсы:
Меньше связности – больше управления
Проще (быстрее) разработка
Поиск ошибок и тестирование
А минусы?
21.10.2010 Черников Андрей. Основы
использования MVC
Минусы
Скорость выполнения программы
Больше используемых ресурсов
21.10.2010 Черников Андрей. Основы
использования MVC
Рекомендуемая литература
Можно не записывать (всё потом будет на сайте)
.NET (C#)
Учебник - http://
en.csharp-online.net/Category:Exam_70-536_Study_Guide
Исходники -
http://1code.codeplex.com/releases/view/53729
Сайт – asp.net MVC (там есть шикарное видео чувака)
Google
Stackoverflow.com
21.10.2010 Черников Андрей. Основы
использования MVC
Вопросы?
21.10.2010 Черников Андрей. Основы
использования MVC
Спасибо!
21.10.2010 Черников Андрей. Основы
использования MVC
Если чо – контакты
chernikov@gmail.com
+380 603 54 21
21.10.2010 Черников Андрей. Основы
использования MVC

More Related Content

What's hot

Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkCUSTIS
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеKirill Vechera
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиSQALab
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проектаYova Stoika
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Anton Vidishchev
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava introalexey1991
 
Selenoid from Aerokube
Selenoid from AerokubeSelenoid from Aerokube
Selenoid from AerokubeYuriiG
 

What's hot (9)

non-blocking java script
non-blocking java scriptnon-blocking java script
non-blocking java script
 
Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring Framework
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточности
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проекта
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava intro
 
Selenoid from Aerokube
Selenoid from AerokubeSelenoid from Aerokube
Selenoid from Aerokube
 

Viewers also liked

Colloque infoclio.ch 2011
Colloque infoclio.ch 2011Colloque infoclio.ch 2011
Colloque infoclio.ch 2011infoclio.ch
 
Mines Linked In Presentation.Ppt 022009
Mines Linked In Presentation.Ppt 022009Mines Linked In Presentation.Ppt 022009
Mines Linked In Presentation.Ppt 022009briannafriend
 
Prof. Willard McCarty - Mimesis to poesis in the Digital Humanities
Prof. Willard McCarty - Mimesis to poesis in the Digital HumanitiesProf. Willard McCarty - Mimesis to poesis in the Digital Humanities
Prof. Willard McCarty - Mimesis to poesis in the Digital Humanitiesinfoclio.ch
 
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...infoclio.ch
 
In search for an appropriate tool for the humanities
In search for an appropriate tool for the humanitiesIn search for an appropriate tool for the humanities
In search for an appropriate tool for the humanitiesinfoclio.ch
 
Colloque Infoclio 2009
Colloque Infoclio 2009Colloque Infoclio 2009
Colloque Infoclio 2009infoclio.ch
 
T. Onnela E Learning History In Europe
T. Onnela   E Learning History In EuropeT. Onnela   E Learning History In Europe
T. Onnela E Learning History In Europeinfoclio.ch
 

Viewers also liked (7)

Colloque infoclio.ch 2011
Colloque infoclio.ch 2011Colloque infoclio.ch 2011
Colloque infoclio.ch 2011
 
Mines Linked In Presentation.Ppt 022009
Mines Linked In Presentation.Ppt 022009Mines Linked In Presentation.Ppt 022009
Mines Linked In Presentation.Ppt 022009
 
Prof. Willard McCarty - Mimesis to poesis in the Digital Humanities
Prof. Willard McCarty - Mimesis to poesis in the Digital HumanitiesProf. Willard McCarty - Mimesis to poesis in the Digital Humanities
Prof. Willard McCarty - Mimesis to poesis in the Digital Humanities
 
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...
Stuart Hamilton (IFLA) - Flexibility for better access: copyright Exceptions ...
 
In search for an appropriate tool for the humanities
In search for an appropriate tool for the humanitiesIn search for an appropriate tool for the humanities
In search for an appropriate tool for the humanities
 
Colloque Infoclio 2009
Colloque Infoclio 2009Colloque Infoclio 2009
Colloque Infoclio 2009
 
T. Onnela E Learning History In Europe
T. Onnela   E Learning History In EuropeT. Onnela   E Learning History In Europe
T. Onnela E Learning History In Europe
 

Similar to Основи використання MVC

Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013GetDev.NET
 
Асинхронное программирование в ASP.NET MVC
Асинхронное программирование в ASP.NET MVCАсинхронное программирование в ASP.NET MVC
Асинхронное программирование в ASP.NET MVCEugene Agafonov
 
начинаем работать с Sql server compact
начинаем работать с Sql server compactначинаем работать с Sql server compact
начинаем работать с Sql server compactДенис Резник
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETMikhail Shcherbakov
 
Архитектура для автоматизированного тестирования UI
Архитектура для автоматизированного тестирования UIАрхитектура для автоматизированного тестирования UI
Архитектура для автоматизированного тестирования UIAnton Bevzuk
 
ASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevAlex Tumanoff
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Fwdays
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKCisco Russia
 
Dotnet development
Dotnet developmentDotnet development
Dotnet developmentMageCloud
 
Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектированияITCP Community
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NETVitaly Baum
 
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcСергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcYandex
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdfssuser0562f1
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в SpringUnguryan Vitaliy
 

Similar to Основи використання MVC (20)

ASP.NET MVC: new era?
ASP.NET MVC: new era?ASP.NET MVC: new era?
ASP.NET MVC: new era?
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
Асинхронное программирование в ASP.NET MVC
Асинхронное программирование в ASP.NET MVCАсинхронное программирование в ASP.NET MVC
Асинхронное программирование в ASP.NET MVC
 
начинаем работать с Sql server compact
начинаем работать с Sql server compactначинаем работать с Sql server compact
начинаем работать с Sql server compact
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NET
 
Архитектура для автоматизированного тестирования UI
Архитектура для автоматизированного тестирования UIАрхитектура для автоматизированного тестирования UI
Архитектура для автоматизированного тестирования UI
 
ASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton VidishchevASP.NET MVC 3 Anton Vidishchev
ASP.NET MVC 3 Anton Vidishchev
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
Dotnet development
Dotnet developmentDotnet development
Dotnet development
 
Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектирования
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcСергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdf
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 

Основи використання MVC

Editor's Notes

  1. It Event