270.46K

15-120524035453-phpapp02 (1)

1.

Основи
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
Інструменти:
Visual Studio
Web Platform Installer
Web Deployment Tool
WebMatrix
Console tools
ReSharper
Засоби:
.NET-мови
HTML, ASP, Razor
jQuery, DevExpress,
Telerik
MS SQL, nHibernate
Сторонні бібліотеки
Deployment:
Cloud Services
Web server:
IIS
Testing
NUnit
MSTest
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
English     Русский Правила