SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Основи
ASP.Net MVC
Будемо говорити про...
0. ASP.NET MVC і для чого його використовують
1. eкосистему ASP.NET MVC
2. MVC як підхід до веб-програмування
3. створення першого проекту (бази фільмів)
4. додавання сутності до проекту (сутність Movie)
5. ASP.NET MVC i Ajax
6. тестування проекту і деплоймент
7. висновки, запитання
ASP.NET MVC і його застосування
ASP.NET MVC:
1. фреймворк призначений для веб-програмування
2. побудований на принципах паттерна
    Модель-Вигдяд-Контроллер
3. застосовується для сторення веб-сайтів
4. євляє собою цілу екосистему бібліотек, інструментів від різних
    виробників
5. допомагає повністю розділити роботу дизайнер, програміста і
    тестера
6. допомагає ефективно розділити дані і бізнес-логіку
7. дозволяє зменшити кількість коду
     o scaffolding
     o велика кількість бібліотек
Навіщо потрібна екосистема?

                      ASP.NET MVC Framework

Інструменти:
                           Засоби:               Web server:
Visual Studio
                           .NET-мови             IIS
Web Platform Installer
                           HTML, ASP, Razor
Web Deployment Tool
                           jQuery, DevExpress,   Testing
WebMatrix
                           Telerik               NUnit
Console tools
                           MS SQL, nHibernate    MSTest
ReSharper


                           Deployment:
Сторонні бібліотеки
                           Cloud Services
                                                 Visual studio
MVC паттерн у веб-програмуванні

1. Модель – забезпечує взаємодію з БД
     o   активна – зберігає і обробляє дані
     o   пасивна – тільки зберігає дані
     o   база даних – знаходиться за моделлю
     o   ModelState – поточний стан моделі

2. Контроллер і action
     o   тонкий – дістає дані і передає їх у вигляд
     –   товстий – готує дані і передає їх у вигляд
     –   Actions – методи контроллера
     –   CRUD – Create, Read, Update, Delete

3. Вигляд (вид, view)
     –   Razor = Html + C#

 Scaffolding – автоматичне створення контроллера, і виглядів по шаблону
Модель
public class Movie
    {
        [Key]
        public int Id { get; set; }

       [Required]
       [StringLength(100, MinimumLength = 2)]
       public string Title { get; set; }

       [Required]
       [Range(1899, 2100)]
       public int Year { get; set; }
}


Модель – звичайний клас C#
Публічні поля – колонки в базі даних
Валідація за допомогою атрибутів
Контроллер
public class MovieController : Controller
     {
     private MoviesListContext db = new MoviesListContext();


     [HttpGet]
     public ViewResult Index()
          {
                 return View(db.Movies.ToList());
          }
}



Контроллер – клас С#
Actions – публічні методи контроллера
Кожен Action повертає ViewResult
Вигляд
@{
  ViewBag.Title = "About Us";
}

<h2>About</h2>
<p>
  Hello, @User.Identity.Name
</p>



Вигляд – Html файл з вставками Razor
Сервер при рендерінгу вигляду виконує Razor-код
Назва файлу Вигляду співпадає з назвою відповідного Action
Створення першого проекту

Що собою являє пустий проект
1. Готові сторінки, css, jquery
2. Membership: реєстрація, логін
3. База даних
4. Приємні деталі: валідація полів
5. Моделі, вигляди, контроллери
Життєвий цикл веб-запиту

1. Запит користувача
2. Аналіз запиту, запуск контроллера і action
3. Вибірка даних з моделі
4. Передавання даних у вигляд
5. Рендерінг layout, вигляду
6. Відсилання html клієнту
Створення нової сутності


1. Створення моделі Movie
2. Налаштування валідації полів
3. Створення контроллера, виглядів (scaffold)
4. Мінімальні зміни і налаштування
ASP.NET MVC і Ajax
1. Ajax, jQuery, доступ до об'єктів на сторінці
     – $("#some-element-id") – дає доступ до блока на сторінці
     – $(document) – дає доступ до цілої сторінки
2. Події і їх обробка в jQuery
     – $(document).ready(function() {
             // виконається після завантаження сторінки
            });
3. Блокування стандартної обробки події
    – $("#some-element-id").click(function(event) {
            // виконається при натисканні на елемент
            event.preventDefault();
        });
4. Створення і відображення pup-up діалогу
    – $("#some-element-id").dialog();
5. PartialView vs View
6. Модифікація вигляду для роботи з Ajax
Тестування і деплоймент
Тестування:
1. TDD
2. Unit-тестування контроллера
3. Інтеграційні тести

Депломент:
1. Cloud-сервіси
2. Деплоймент прямо з IDE
Висновки і запитання

ASP.NET MVC:
1. екосистема
2. вимагає писати правильно
3. не залежить від сервера БД
4. Розділяє дизайнера, програміста, тестера
5. Пришвидчує написання коду
6. Легко тестується
Корисні посилання

0. http://google.com.ua/search?q=ASP.net+mvc
1. http://asp.net/mvc/tutorials
2. питання: http://stackoverflow.com

Más contenido relacionado

Similar a ASP.Net MVC

Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CMaksym Davydov
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняcit-cit
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)Anatoliy Okhotnikov
 
WordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeWordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeTrilipuT
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-netcit-cit
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edcit-cit
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro OverviewKiev ALT.NET
 
Aspnet core
Aspnet coreAspnet core
Aspnet coreeleksdev
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxIhor34
 
Web service lecture
Web service lectureWeb service lecture
Web service lectureeleksdev
 
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковIgor Bronovskyy
 
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...Igor Bronovskyy
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиОлексій Артеменко
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsPavlo Iuriichuk
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoGlobalLogic Ukraine
 

Similar a ASP.Net MVC (20)

Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керування
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
 
WordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeWordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting theme
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-net
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування ed
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro Overview
 
Aspnet core
Aspnet coreAspnet core
Aspnet core
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptx
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
NodeJS.pptx
NodeJS.pptxNodeJS.pptx
NodeJS.pptx
 
23
2323
23
 
Tdd, ти де?
Tdd, ти де?Tdd, ти де?
Tdd, ти де?
 
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
 
вашенюк
вашенюквашенюк
вашенюк
 
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапи
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.js
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. Howto
 
Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)
 

Más de Victor Matyushevskyy (16)

Design patterns part 1
Design patterns part 1Design patterns part 1
Design patterns part 1
 
Multithreading and parallelism
Multithreading and parallelismMultithreading and parallelism
Multithreading and parallelism
 
Java script + extjs
Java script + extjsJava script + extjs
Java script + extjs
 
Automated testing
Automated testingAutomated testing
Automated testing
 
Основи Баз даних та MS SQL Server
Основи Баз даних та MS SQL ServerОснови Баз даних та MS SQL Server
Основи Баз даних та MS SQL Server
 
Usability
UsabilityUsability
Usability
 
Windows forms
Windows formsWindows forms
Windows forms
 
Practices
PracticesPractices
Practices
 
06.1 .Net memory management
06.1 .Net memory management06.1 .Net memory management
06.1 .Net memory management
 
06 LINQ
06 LINQ06 LINQ
06 LINQ
 
05 functional programming
05 functional programming05 functional programming
05 functional programming
 
04 standard class library c#
04 standard class library c#04 standard class library c#
04 standard class library c#
 
#3 Об'єктно орієнтоване програмування (ч. 2)
#3 Об'єктно орієнтоване програмування (ч. 2)#3 Об'єктно орієнтоване програмування (ч. 2)
#3 Об'єктно орієнтоване програмування (ч. 2)
 
#2 Об'єктно орієнтоване програмування (ч. 1)
#2 Об'єктно орієнтоване програмування (ч. 1)#2 Об'єктно орієнтоване програмування (ч. 1)
#2 Об'єктно орієнтоване програмування (ч. 1)
 
#1 C# basics
#1 C# basics#1 C# basics
#1 C# basics
 
#0 Вступна лекція
#0 Вступна лекція#0 Вступна лекція
#0 Вступна лекція
 

ASP.Net MVC

  • 2. Будемо говорити про... 0. ASP.NET MVC і для чого його використовують 1. eкосистему ASP.NET MVC 2. MVC як підхід до веб-програмування 3. створення першого проекту (бази фільмів) 4. додавання сутності до проекту (сутність Movie) 5. ASP.NET MVC i Ajax 6. тестування проекту і деплоймент 7. висновки, запитання
  • 3. ASP.NET MVC і його застосування ASP.NET MVC: 1. фреймворк призначений для веб-програмування 2. побудований на принципах паттерна Модель-Вигдяд-Контроллер 3. застосовується для сторення веб-сайтів 4. євляє собою цілу екосистему бібліотек, інструментів від різних виробників 5. допомагає повністю розділити роботу дизайнер, програміста і тестера 6. допомагає ефективно розділити дані і бізнес-логіку 7. дозволяє зменшити кількість коду o scaffolding o велика кількість бібліотек
  • 4. Навіщо потрібна екосистема? ASP.NET MVC Framework Інструменти: Засоби: Web server: Visual Studio .NET-мови IIS Web Platform Installer HTML, ASP, Razor Web Deployment Tool jQuery, DevExpress, Testing WebMatrix Telerik NUnit Console tools MS SQL, nHibernate MSTest ReSharper Deployment: Сторонні бібліотеки Cloud Services Visual studio
  • 5. MVC паттерн у веб-програмуванні 1. Модель – забезпечує взаємодію з БД o активна – зберігає і обробляє дані o пасивна – тільки зберігає дані o база даних – знаходиться за моделлю o ModelState – поточний стан моделі 2. Контроллер і action o тонкий – дістає дані і передає їх у вигляд – товстий – готує дані і передає їх у вигляд – Actions – методи контроллера – CRUD – Create, Read, Update, Delete 3. Вигляд (вид, view) – Razor = Html + C# Scaffolding – автоматичне створення контроллера, і виглядів по шаблону
  • 6. Модель public class Movie { [Key] public int Id { get; set; } [Required] [StringLength(100, MinimumLength = 2)] public string Title { get; set; } [Required] [Range(1899, 2100)] public int Year { get; set; } } Модель – звичайний клас C# Публічні поля – колонки в базі даних Валідація за допомогою атрибутів
  • 7. Контроллер public class MovieController : Controller { private MoviesListContext db = new MoviesListContext(); [HttpGet] public ViewResult Index() { return View(db.Movies.ToList()); } } Контроллер – клас С# Actions – публічні методи контроллера Кожен Action повертає ViewResult
  • 8. Вигляд @{ ViewBag.Title = "About Us"; } <h2>About</h2> <p> Hello, @User.Identity.Name </p> Вигляд – Html файл з вставками Razor Сервер при рендерінгу вигляду виконує Razor-код Назва файлу Вигляду співпадає з назвою відповідного Action
  • 9. Створення першого проекту Що собою являє пустий проект 1. Готові сторінки, css, jquery 2. Membership: реєстрація, логін 3. База даних 4. Приємні деталі: валідація полів 5. Моделі, вигляди, контроллери
  • 10. Життєвий цикл веб-запиту 1. Запит користувача 2. Аналіз запиту, запуск контроллера і action 3. Вибірка даних з моделі 4. Передавання даних у вигляд 5. Рендерінг layout, вигляду 6. Відсилання html клієнту
  • 11. Створення нової сутності 1. Створення моделі Movie 2. Налаштування валідації полів 3. Створення контроллера, виглядів (scaffold) 4. Мінімальні зміни і налаштування
  • 12. ASP.NET MVC і Ajax 1. Ajax, jQuery, доступ до об'єктів на сторінці – $("#some-element-id") – дає доступ до блока на сторінці – $(document) – дає доступ до цілої сторінки 2. Події і їх обробка в jQuery – $(document).ready(function() { // виконається після завантаження сторінки }); 3. Блокування стандартної обробки події – $("#some-element-id").click(function(event) { // виконається при натисканні на елемент event.preventDefault(); }); 4. Створення і відображення pup-up діалогу – $("#some-element-id").dialog(); 5. PartialView vs View 6. Модифікація вигляду для роботи з Ajax
  • 13. Тестування і деплоймент Тестування: 1. TDD 2. Unit-тестування контроллера 3. Інтеграційні тести Депломент: 1. Cloud-сервіси 2. Деплоймент прямо з IDE
  • 14. Висновки і запитання ASP.NET MVC: 1. екосистема 2. вимагає писати правильно 3. не залежить від сервера БД 4. Розділяє дизайнера, програміста, тестера 5. Пришвидчує написання коду 6. Легко тестується
  • 15. Корисні посилання 0. http://google.com.ua/search?q=ASP.net+mvc 1. http://asp.net/mvc/tutorials 2. питання: http://stackoverflow.com