- •Лекція 1 Вступ. Огляд парадигм та платформ для Web-розробки. Платформа asp.Net. Інструменти та інтегроване середовище розробки Visual Web Developer 2010.
- •1.1 Вступ. Поняття Інтернет. Базові концепції Всесвітньої павутини www. Еволюція Web
- •1.1.1 Поняття Інтернет
- •1.1.2 Базові концепції Всесвітньої павутини www
- •1.1.3 Еволюція Web
- •1.2 Огляд парадигм та платформ для Web-розробки
- •1.2.2 Найбільш поширені мови та технології розробки
- •1.3 Платформа asp.Net
- •1.3.1 Розвиток asp.Net
- •1.3.2 Ключові переваги asp.Net mvc
- •1.4 Інструменти та інтегроване середовище розробки Visual Web Developer 2010
- •1.4.3 Додаткові компоненти
- •1.4.4 Отримання допоміжної інформації від розробників
- •1 Анатомія html-документа
- •2 Текст
- •3 Гіперпосилання
- •4 Форматовані списки
- •5 Таблиці
- •6 Каскадні таблиці стилів
- •Лекція 3 Синтаксичні конструкції мови c#.
- •3.1Зв’язок між c# I .Net. Особливості платформи .Net
- •3.1.1 Загальномовне виконуюче середовище
- •3.1.2 Класи .Net Framework
- •3.1.3 Простори імен .Net
- •3.2Синтаксичні особливості c#
- •3.2.2 Визначені типи даних
- •3.2.3 Керування потоком виконання
- •3.2.4 Перерахування
- •3.2.5 Простори імен
- •3.2.6 Метод Main (). Консольний ввід-вивід. Коментарі.
- •3.3Об’єкти і типи
- •3.3.1 Класи
- •3.3.2 Структури
- •3.4Наслідування
- •3.4.1 Типи наслідування
- •3.4.2 Модифікатори доступу
- •3.4.3 Інтерфейси
- •3.5Узагальнення
- •3.6Операції
- •1 Колекції
- •2 Делегати
- •Лекція №5 Елементи керування на сторінках asp.Net
- •1. Структура web-додатку на основі asp.Net
- •2. Керування станом в asp.Net
- •3. Серверні елементи керування на сторінках asp.Net
- •3.1 Серверні веб-елементи управління
- •4. Сценарії обробки запитів
- •5. Життєвий цикл сторінки asp.Net
1.3.2 Ключові переваги asp.Net mvc
ASP.NET MVC - це платформа для розробки веб-додатків від Microsoft, яка поєднує в собі ефективність і акуратність архітектури "модель-відображення-контролер" (model-view-controller - MVC), новітні ідеї і прийоми гнучкої розробки, а також все краще з існуючої платформи ASP.NET. Вона являє собою повномасштабну альтернативу традиційній технології ASP.NET Web Forms, надаючи суттєві переваги для всіх проектів веб-розробки, крім найбільш тривіальних.
Компонент ASP.NET MVC (Model-View-Controller - модель-відображення-контролер) пропонує зовсім інший спосіб для побудови веб-сторінок у порівнянні зі стандартною моделлю веб-форм. Суть його полягає в розбитті додатка на три окремих логічних частини. Модель включає весь бізнес-код додатку, наприклад, логіку доступу до даних і правила верифікації. Відображення створює для моделі похідне відображення за рахунок її візуалізації в HTML-сторінки. Контролер координує весь цей процес за рахунок обробки операцій взаємодії з користувачами, оновлення моделі і передачі інформації в відображення.
Важливо розрізняти архітектурну модель MVC і платформу ASP.NET MVC. Модель MVC (model-view-controller - модель-відображення-контролер) не нова - її поява відноситься до 1978 р. і пов'язана з проектом Smalltalk, але сьогодні вона завоювала величезну популярність в якості архітектури для веб-додатків з наступних причин.
Взаємодія користувача з додатком MVC здійснюється відповідно з природним циклом: користувач робить дію, у відповідь на яку додаток змінює свою модель даних і доставляє оновлене уявлення користувачеві. Потім цикл повторюється. Це дуже зручно вкладається в схему веб-додатків, що надаються у вигляді послідовностей запитів і відповідей HTTP.
Веб-додатки, які потребують об'єднання декількох технологій (наприклад, баз даних, HTML і виконуваного коду), зазвичай розділяються на ряд шарів або рівнів, і отриманий в результаті шаблон природним чином вписується в концепції MVC.
Платформа ASP.NET MVC реалізує модель MVC і при цьому забезпечує значно покращений поділ відповідальності. Фактично в ASP.NET MVC реалізований сучасний варіант MVC, який особливо підходить для веб-додатків.
Сприйнявши і прийнявши модель MVC, платформа ASP.NET MVC становить сильну конкуренцію Ruby on Ralls і аналогічним платформам, виводячи модель MVC в авангард розвитку світу .NET.
У схемі MVC деякі традиційні концепції ASP.NET, в тому числі веб-форми, веб-елементи управління, стан відображення, зворотні відправки і стан сеансу, відходять на другий план. Це змушує розробників вчитися дивитися на речі по-іншому (і миритися з тимчасовим спадом продуктивності). Одним схема MVC здається більш чистою і більше підходящою для веб-додатків. Інші вважають, що вона змушує докладати додаткових зусиль і ніякої очевидної вигоди при цьому не приносить. Але якщо хоч який-небудь з перерахованих нижче моментів є важливим, обов'язково варто розглянути варіант застосування ASP.NET MVC.
Розширюваність
Платформа ASP.NET MVC побудована у вигляді серії незалежних компонентів, які реалізують інтерфейс .NET або побудовані на основі абстрактного базового класу. Тому можна легко замінити систему маршрутизації, механізм візуалізації, фабрику контролерів або інші компоненти платформи іншими, з власною спеціальною реалізацією.
Для кожного компонента MVC Framework розробники ASP.NET MVC надають три можливості.
Використання стандартної (за замовчуванням) реалізації компоненту в тому вигляді, як вона є (цього цілком достатньо для більшості додатків).
Породження підкласу від стандартної реалізації з метою коригування існуючої поведінки.
Повна заміна компонента новою реалізацією інтерфейсу або абстрактного базового класу.
Жорсткий контроль над HTML і HTTP
В платформі ASP.NET MVC врахована важливість генерації ясного і відповідного стандартам коду розмітки. Її вбудовані допоміжні методи HTML створюють відповідний стандартам вивід, але в ній реалізована і набагато більш значуща зміна в порівнянні з Web Forms. Замість величезного обсягу HTML-коду, що важко піддається управлінню, платформа MVC стимулює створення простих і елегантних, стилізованих за допомогою CSS компонентів.
Звичайно, якщо дійсно потрібно використовувати деякі готові віджети для складних елементів інтерфейсу користувача, то ASP.NET MVC дозволяє легко застосовувати кращі бібліотеки інтерфейсу користувача, такі як jQuery або бібліотека Yahoo YUI. Розробники JavaScript будуть приємно здивовані, дізнавшись, що популярна бібліотека jQuery не тільки ефективно підтримується, а навіть поставляється в якості вбудованої частини шаблону проекту ASP.NET MVC по замовчуванню, і навіть дозволяє безпосередньо звертатися до файлу jQuery, js на власних серверах CDN (Content Delivery Network - мережа доставки контенту) Microsoft.
Згенеровані ASP.NET MVC сторінки не містять ніяких даних View State, тому вони можуть бути на сотні кілобайт менше типових сторінок ASP.NET Web Forms. Незважаючи на сучасні швидкісні широкосмугові з'єднання, така економія трафіку неймовірно підвищує комфорт кінцевого користувача.
Подібно Ruby on Rails, ASP.NET MVC працює в тісній співдружності g HTTP: Ми володіємо повним контролем над запитами, що передаються між браузером і сервером. AJAX простий, і йому не потрібні ніякі автоматичні зворотні відправки для взаємодії зі станом клієнтської сторони.
Тестування
Природне рознесення різних завдань додатку по різних, незалежних одна від одної частин програмного забезпечення, підтримуване архітектурою MVC, дозволяє одразу будувати легко супроводжувані та тестовані додатки. Проте проектувальники ASP.NET MVC на цьому не зупинилися. Для кожного фрагменту компонентно-орієнтованого дизайну платформи вони забезпечили структурованість, необхідну для виконання вимог модульного тестування та засобів макетування.
У середовище Visual Studio доданий набір майстрів для автоматизованого створення стартових тестових проектів (інтегрованих з такими інструментами модульного тестування з відкритим кодом, як NUnit і xUnit, а також з власним інструментом MSTfest Microsoft). Навіть якщо вам ніколи раніше не доводилося створювати модульні тести, у вас буде все необхідне для успішного вирішення завдання.
Тестування стосується не тільки модульного тестування. Додатки ASP.NET MVC успішно працюють також з інструментами тестування, вбудованими в засоби автоматизації користувальницького інтерфейсу. Можна створювати тестові сценарії, які імітують взаємодії з користувачем, не турбуючись про те, які структури HTML-елементів, класи CSS або ідентифікатори будуть згенеровані платформою, так само як і про несподівані зміни структури.
Потужна система маршрутизації
Удосконалення технології веб-додатків супроводжувалося розвитком стилю URL-адрес. URL подібні до наступної:
/App_v2/User/Раgе.aspx?Action = show%20prop&prop_id=82742
зустрічаються все рідше, і їм на зміну приходить більш простий і зрозумілий формат, такий як:
/To-rent/chicago/2303-silver-street
Існує ряд вагомих підстав, щоб піклуватися про структуру URL-адрес. По-перше, пошукові механізми надають ключовими словами, що містяться в URL, більшої ваги. Пошук по словосполученню "rent in Chicago" (оренда в Чикаго) з більшою ймовірністю виявить більш простий URL. По-друге, багато веб-користувачів достатньо кмітливі, щоб зрозуміти URL, і цінують можливість здійснення навігації шляхом введення запиту в адресному рядку свого браузера. По-третє, коли хтось розуміє структуру URL-адреси, вони з більшою ймовірністю підключаться до неї. По-четверте, при такому підході широкій публіці в Інтернеті не розкриваються технічні нюанси, структура каталогів і імен файлів програми, і, отже, ви вільні змінювати лежачу в основі сайту реалізацію, не порушуючи працездатності вхідних посилань.
На попередніх платформах реалізувати зрозумілі URL-адреси було тяжко, проте ASP.NET MVC використовує засіб System.Web.Routing, надаючи зрозумілі URL-адреси по замовчуванню. Це дає вам контроль над схемою URL і її взаємозв'язком з додатком, надаючи свободу створення зрозумілої і зручної користувачам моделі URL-адрес без необхідності дотримання відповідності визначеній моделі.
Побудова на основі кращого з платформи ASP.NET
Існуюча платформа ASP.NET Microsoft надає розвинений, перевірений набір компонентів і засобів для розробки ефективних і високопродуктивних веб-додатків.
Перша і найбільш очевидна перевага полягає в тому, що оскільки платформа ASP.NET MVC побудована на основі .NET, можна писати код на будь-якій мові, сумісній з .NET. При цьому доступні ті ж засоби API-інтерфейсу, які визначені не тільки в самій моделі MVC, але і в загальній бібліотеці класів-NET, а також в широкому безлічі бібліотек .NET від незалежних розробників.
По-друге, готові засоби платформи ASP.NET, такі як майстер-сторінки, аутентифікація за допомогою форм, членство, ролі, профілі та глобалізація, можуть істотно скоротити обсяг коду, який доведеться писати і підтримувати в будь-якому веб-додатку, і в проекті MVC вони настільки ж ефективні, як і в класичному проекті Web Forms. У додатку ASP.NET МУС можна багаторазово використовувати деякі вбудовані серверні елементи управління Web Forms, а також власні спеціальні елементи керування з більш ранніх проектів ASP.NET (до тих пір, поки вони не залежать від специфічних для Web Forms елементів, таких як View State).
Питання розробки та розгортання також вирішені. ASP.NET не тільки тісно інтегрована в Visual Studio - вона є вбудованою технологією веб-програмування, підтримуваної веб-сервером Internet Information Services (IIS), що входять до складу ОС Windows ХР, Windows Vista, Windows 7, Windows 8 і Windows Server. Будучи побудованими на основі ядра платформи ASP.NET, додатки MVC отримують всі ці переваги.
Сучасний API-інтерфейс
ASP.NET MVC 3 побудована для .NET 4, тому її API-інтерфейс може в повній мірі використовувати останні нововведення мови та середовища часу виконання, включаючи додаткові методи, лямбда-вирази, анонімні і динамічні типи, а також LINQ (Language Integrated Query - мова інтегрованих запитів). Багато з методів і шаблонів кодування API-інтерфейсу MVC Framework відрізняються більш чіткою і виразною композицією, ніж було можливо в більш ранніх платформах.
ASP.NET MVC - платформа з відкритим кодом
На відміну від багатьох попередніх платформ веб-розробки Microsoft, оригінальний вихідний код ASP.NET MVC доступний для вільного завантаження, і його можна навіть модифікувати або будувати власні версії. Це неоціненно при налагодженні коду, який звертається до системного компоненту, коли потрібно покроково виконати його код (і навіть ознайомитися з коментарями програмістів, які написали цей код). Це корисно також, якщо ви створюєте вдосконалений компонент і хочете бачити, які існують можливості розробки, або як дійсно працюють вбудовані компоненти.
Механізм візуалізації Razor
Одна з головних особливостей MVC 3 - поява механізму візуалізації Razor (Razor View Engine). Попередні версії MVC покладалися на стандартний механізм візуалізації ASP.NET, який залежить від блоків <% і%> ASP.NET.
Механізм Razor замінює традиційні блоки символом @, який швидший у написанні та компіляції, ніж старий механізм візуалізації. Razor містить також більш гнучкі функції і дозволяє більш якісно виконувати модульне тестування. Попередній підхід і раніше можна застосовувати, але команда Microsoft дала зрозуміти, що Razor - майбутнє MVC.
