Microsoft Visual Studio. NET. Огляд основних новинок у версії Beta 2. Частина 2, HTML, XML, DHTML, Інтернет-технології, статті

Частина 1


Зміст



У попередньому номері ми почали знайомство з основними новинками, що з’явилися в Microsoft Visual Studio. NET Beta 2. Ми з’ясували, що за допомогою цього засобу полегшується створення XML Web-сервісів і Web-додатків, а також істотно збільшується продуктивність праці розробників. У цій частині статті ми розглянемо нові версії мов програмування, які підтримуються в Microsoft Visual Studio. NET, а також кошти, що забезпечують підтримку всього циклу створення корпоративних додатків.


Розширення функціональності мов програмування


Нова версія Microsoft Visual Studio забезпечує підтримку більше 20 різних мов програмування, серед яких чотири ключових мови – Visual Basic. NET, Visual C #. NET, Visual C + +. NET і JScript . NET – надаються фірмою Microsoft. Інші фірми розробляють компілятори таких мов, як COBOL, FORTRAN, Perl, Python, RPG, Eiffel і Java


Останнім часом Microsoft майже не згадує про підтримку JScript у складі Microsoft Visual Studio. NET і практично всі приклади надаються на VB.NET і C #, хоча, можливо, ми ще побачимо нову версію JScript. NET, яка буде відповідати специфікації ECMSScript Edition 4 і включати компілятор, підтримку класів і доступ до ядра. NET. Зазначимо, однак, що JScript. NET – це мова, яку можна буде використовувати тільки для створення Web-додатків на основі ASP.NET і для написання пакетних програм для середовища. NET. Нижче ми докладніше розглянемо три мови програмування фірми Microsoft – Visual Basic .NET, Visual C# .NET, Visual C++ .NET.


Visual Basic .NET


Visual Basic. NET – найбільш просте і в той же час найпродуктивніший з вхідних до складу Visual Studio. NET коштів для створення Windows-і Web-додатків. Нова версія мови поповнилася такими можливостями, як повна підтримка об’єктно-орієнтованого програмування (включаючи успадкування), візуальне успадкування для форм, спрощений доступ до функцій Windows, створення сервісів Windows NT і консольних додатків.
Суперечки про те, чи є Visual Basic. NET прямим нащадком використовуваного мільйонами розробників в усьому світі мови Visual Basic або Microsoft «зіпсувала породу», ввівши стільки нововведень, триватимуть ще довго. Проте детальне обговорення цієї теми виходить за рамки цієї статті, і тут ми коротко зупинимося на основних нововведеннях, що з’явилися в. NET-версії мови.


Повна підтримка наслідування – наслідування реалізації (implementation inheritance) і візуального наслідування форм – дозволяє створювати додатки, в яких повторно використовуються великі обсяги коду. Типовий приклад таких програм – Internet-додатки, що містять безліч спільних елементів: електронні магазини, портали, пошукові системи і т.п. Використовуючи ключове слово inherits, розробники можуть успадковувати існуючі класи, наприклад:

Class      ECommerce
 Function      GetCustomer()
End Function      
Class      ECommerceEx
 Inherits      ECommerce
Function GetOrders()

End Function


Екземпляри успадкованих класів підтримують всі методи і інтерфейси базових класів. Крім того, успадкований клас може розширювати набір методів і інтерфейсів, підтримуваних в базовому класі. Успадкований клас також може перевизначати методи базового класу за допомогою ключового слова overrides. Для запобігання помилок Visual Basic дозволяє перевизначати тільки такі методи, які позначені як перевизначає (Overridable) в базовому класі.
Visual Basic. NET підтримує перевантаження функцій, надаючи розробникам можливість створювати різні версії підпрограм і функцій з одним і тим же ім’ям, але з різними наборами аргументів. Перевантаження часто використовується в об’єктно-орієнтованому програмуванні, коли об’єктна модель вимагає наявності однойменних методів, що працюють з різними типами дані, зокрема:

Overloads      Sub Display(theChar As Char)

Overloads Sub Display(theInteger As Integer)

Overloads Sub Display(theDouble As Double)

У попередніх версіях мови розробникам доводилося або створювати метод з унікальним ім’ям для кожного типу даних, або передавати дані як тип variant. Параметризрвані конструктори дають розробникам можливість створювати нові екземпляри класів і одночасно передавати їм набори аргументів. Конструктори є невід’ємною частиною об’єктно-орієнтованого програмування і дозволяють створювати і ініціалізувати нові екземпляри класів одним рядком коду.


Крім розглянутих вище об’єктно-орієнтованих розширень мови, в Visual Basic. NET підтримується багатопотокова модель, що дозволяє створювати асинхронні програми. Це особливо актуально при створенні масштабованих Web-додатків, якщо потрібно виконати складне обчислення, тривалий запит і т.п. Нижче показано, як за допомогою Visual Basic. NET та підтримки потоків можна запускати фоновий код:

 
Sub MakeNewThread()
Dim bg As bgWork
Dim myThread As Thread
bg = New bgWork()
myThread = New Thread(New ThreadStart(AddressOf bg.Run))
myThread.Start
End Sub
 Class      bgWork
Sub Run()

End Sub
End Class

Серед інших новинок Visual Basic. NET можна назвати структурну обробку виключень. Так, замість конструкції On Error GoTo тепер використовуються блоки Try .. Catch .. Finally. Наведемо приклад такого блоку:

Sub SHE_Demo()
Try
/ / Виконання будь-якої операції
Catch
/ / У випадку помилки Finlly
/ / Фінальний код
End Try
End Sub

Нова опція Option Strict змушує компілятор генерувати помилки компіляції у випадках, коли перетворення типів неприпустимо. У мові тепер з’явилася можливість використовувати колективні члени класів (Shared members), за допомогою яких дані та члени класів стають доступними для всіх екземплярів класу. Говорячи про нововведення в Visual Basic. NET, також слід згадати підтримку можливості ініціалізації змінних в рядку їх оголошення. Наприклад, замість:

 Dim X      As Integer
X = 1

можна використовувати:

Dim X      As Integer = 1 

Для міграції з Visual Basic 6.0 до складу Visual Basic. NET входить спеціальний засіб – Visual Basic Migration Tool Wizard. Цей засіб запускається автоматично при відкритті проекту Visual Basic 6.0 в середовищі розробника і дозволяє не тільки створити нову версію проекту, але і позначити частини коду, що вимагають змін. В результаті роботи Visual Basic Migration Tool Wizard створюється спеціальний звіт, містить як рекомендації щодо зміни коду, так і посилання на відповідні розділи довідкової системи з поясненнями і додатковою інформацією.


Visual Basic. NET являє собою високопродуктивну об’єктно-орієнтовану систему, призначену для створення всіх типів. NET-додатків. Тепер розробники можуть створювати масштабований код з підтримкою потоків і потужними засобами обробки виняткових ситуацій. Міграція існуючого коду частково полегшується за рахунок використання Visual Basic Migration Tool Wizard, а раніше придбані знання зберігаються і примножуються завдяки новій довідці, що входить до складу Microsoft Visual Studio. NET.


Visual C# .NET


Сучасний, компонент-орієнтована мова програмування С # розроблений фірмою Microsoft спеціально для платформи. NET. Не вдаючись у деталі, скажемо, що C # увібрав в себе найкраще з таких мов, як C, C + +, Java і Delphi, а обговорення тонкощів залишимо апологетам тієї чи іншої мови. Найпростіша програма, яка з 70-х років, з часів Керніган та Річі, виводить на екран рядок “Hello, world!”, На C # виглядає так:

using System;
class Hello
 static void Main() {
  Console.WriteLine(“Hello, world!”);
 }
}

Вихідні тексти програм на C # зберігаються у файлах з розширенням. Cs.
Наш приклад буде збережений у файлі hello.cs. Програма починається з директиви using System;, що вказує на те, що ми плануємо використовувати простір імен System, яке є частиною бібліотеки класів Microsoft. NET. Це простір імен містить клас Console, використовуваний нами в методі Main. Простору імен використовуються для ієрархічної організації елементів бібліотеки класів. Директива using дозволяє посилатися на членів простору імен без вказівки самого імені простору імен. Таким чином, замість System.Console. WriteLine ми пишемо Console.WriteLine.
Метод Main є членом класу Hello. Він має модифікатор static і, отже, є методом класу Hello, а не примірника цього класу. Точка входу в програму – метод, що викликається при запуску програми, – завжди статичний метод з ім’ям Main.


Висновок рядка “Hello, world!” забезпечується за рахунок використання бібліотеки класів. Сама мова не надає цю бібліотеку, тому в. NET використовується загальна бібліотека класів, доступна з програм, написаних як на С #, так і на VB. NET або C + +.
Є деякі відмінності програми на C # від програми на C / C + +. Тут немає глобального методу Main. Методи і змінні не підтримуються на глобальному рівні – такі елементи завжди містяться тільки в описах типів (класах або структурах). В програмі не використовуються оператори «::» або «->». Роздільник «.» Служить для відділення частин складових імен – Console.WriteLine. Програма не містить приречення. Такі приречення не потрібні взагалі, так як порядок проходження визначень в C # не має значення. У програмі немає також директиви # include для імпорту інших файлів. Залежності між програмами вирішуються на символьному, а не на текстовому рівні, внаслідок чого руйнуються бар’єри між програмами, написаними на різних мовах програмування.
Кілька слів про інші особливості мови С #.
Так, в С # використовується уніфікована система типів, тобто всі типи даних є спадкоємцями класу Object. Властивості та події реалізуються на рівні класів. Властивості забезпечують доступ до атрибутів об’єктів або класів. Для читання і запису властивостей використовується наступна синтаксична конструкція:

public class Person
{
 public string Name {
  get {
   return Name;
  }
  set {
   Name = value;
  }
 }
}

Подія – це член класу, що дозволяє об’єкту або класу видавати нотіфікаціонние повідомлення. Подія задається як звичайний метод, але з ключовим словом event.
На закінчення відзначимо також автоматичну підтримку версій, можливість генерації документації на основі спеціалізованих коментарів (///), а також новацію зразок автоматичного збору сміття, реалізованого на рівні ядра. NET.
Для розробників, початківців освоєння C # (а це – 100% тих, хто зацікавився можливостями цієї мови), Microsoft надає не тільки детальну специфікацію, а й велику довідкову систему, а також пропонує безліч готових прикладів, що ілюструють різні аспекти роботи з платформою. NET

Visual C++ .NET


Версія Visual C + + для платформи. NET має безліч нововведень, що дозволяють розробникам створювати і використовувати Web-додатки та Web-сервіси. Від інших мов програмування для платформи. NET Visual C + +. NET відрізняється тим, що підтримує як кодову модель платформи. NET (managed code model), так і кодову модель Windows (unmanaged native code model). До складу Visual C + +. NET входить потужне розширення бібліотеки Active Template Library (ATL), зване ATL Server. Це розширення дозволяє розробникам створювати компактні, високопродуктивні Web-додатки і сервіси. Розширення в Visual C + +. NET полегшують виклик Web-сервісів і з клієнтських, і з серверних додатків, незалежно від того, чи використовується при розробці ядро. NET, бібліотека Microsoft Foundation Classes (MFC), ATL або безпосередньо функції Windows API.


За допомогою Managed Extensions for Visual C + + розробники можуть створювати додатки для платформи. NET. Можна сказати, що Managed Extensions грає роль «моста» між кодом на Visual C + + і кодом на інших мовах програмування, включаючи Visual C #. NET і Visual Basic. NET.
Найпростіша програма на Visual C + +. NET виглядає так:

#using <mscorlib.dll>
using namespace System;
 
void main()
{
  Console::WriteLine(L”Hello, world!”)
}

Як ми бачимо, наведений вище код починається з директиви # using. Ця директива служить для доступу до всіх типів, визначеним у зазначеній динамічної бібліотеці (в термінах. NET динамічна бібліотека називається збіркою – assembly – і містить, крім власне коду на проміжному мовою, метадані та ресурси). Усередині методу main () ми викликаємо статичний метод WriteLine класу Console, що визначений в mscorlib.dll. Відзначимо, що другий рядок нашої програми вказує компілятору на те, що ми будемо використовувати типи даних, визначені в просторі імен System. Це дозволяє замість повного імені класу вказати його як Console:: WriteLine.
Крім підтримки створення. NET-додатків, в новій версії Visual C + + з’явилася можливість створення HTML-діалогових панелей і безвіконних інтерфейсних елементів – все це реалізовано в бібліотеці MFC. Також деякі базові класи (CString, CFile, CRect, Cpoint) тепер можна використовувати з ATL – runtime-версії MFC при цьому не вимагається.
Ознайомившись з основними функціональними розширеннями мов програмування, звернемося до останньої частини нашого огляду – підтримці повного циклу створення корпоративних додатків.


Підтримка повного циклу створення корпоративних додатків

Для створення корпоративних додатків в сімейство Visual Studio. NET входять два продукти – Visual Studio. NET Enterprise Architect і Visual Studio. NET Enterprise Developer. У складі цих продуктів містяться засоби для дизайну, створення та тестування Web-сервісів та програм, що розробляються колективами розробників. Серед цих засобів можна назвати наступні:


Засоби моделювання

Включені до складу Visual Studio. NET засоби моделювання підтримують методологію Object Role Modeling (ORM), яка базується на наступних ключових принципах:


Використання методології ORM як інструмент моделювання, прийнятого в Visual Studio. NET, обумовлено тим, що зазвичай розробники моделей отримують інформацію від замовників, що знають предметну область, але не способи моделювання. Отже, розробник повинен створювати концептуальні моделі, зрозумілі замовникам, і при цьому повинен мати можливість аналізувати інформацію і маніпулювати типовими даними. Методологія ORM розроблена спеціально для задоволення зазначених вимог. ,
ORM представляє додаток як набір об’єктів, що грають певні ролі. Такий підхід іноді називається моделюванням на базі фактів, оскільки він представляє дані у вигляді набору фактів. Такі факти не можуть бути розділені на більш примітивні елементи без втрати інформації.
Наприклад, є наступні факти: «у людини є телефон», «людина живе за певною адресою», «людина народилася у визначений день», «людина була прийнята на роботу у визначений день». Відповідна цими фактами ORM-модель представлена ​​на рис. 1.

Рис. 1


Овали на рис. 1 представляють собою об’єкти; прямокутники – визначення; стрілки і точки – обмеження. Наприклад, стрілка на зображенні факту «у людини є телефон» розшифровується як: «можливо, що в однієї людини є більше одного телефону і що у більш ніж однієї людини є один і той же телефон ». Для факту «людина народилася у визначений день» комбінація стрілки і точки означає, що кожна людина народився в один конкретний день.


На рис. 2 зображена знайома багатьом ER-модель (Entry Relationship) для наведеної ORM-діаграми.

Рис. 2


ER-модель автоматично генерується на основі відповідної ORM-моделі. Потім ER-модель використовується для створення SQL-коду для бази даних. Цей процес повністю звернемо: на підставі схеми бази даних ми можемо отримати ER-модель і породила її ORM-модель.


Шаблони для корпоративних програм


Шаблони для корпоративних додатків (Enterprise Templates) містять два ключові компоненти – початкову структуру проекту (шаблон проекту) і «політику» (policy), асоційовану з даним проектом. Використання корпоративних шаблонів полегшує реалізацію загальної схеми проекту. Зокрема, розподілене додаток може складатися з проектів для кожного з трьох архітектурних рівнів – для користувача інтерфейсу, бізнес-логіки і даних. Крім завдання початкової структури програми, архітектор програми може включати в шаблони стандартні компоненти та інші повторно використовувані програмні елементи.
До складу Visual Studio. NET входять шаблони як для простих розподілених додатків, так і для більш комплексних. Ці шаблони доступні як проекти на мовах Visual Basic. NET і Visual C #. NET.
Створення корпоративного проекту починається з вибору шаблону з розділу Enterprise Templates. Наступним кроком є ​​додавання до проекту компонентів, класів, проектів та інших програмних елементів. В результаті ми отримуємо високорівневу структуру програми, яка буде служити відправною точкою для створення проекту.
Політика – це XML-документ, що описує проект мовою Template Description Language (TDL). Даний документ дозволяє архітекторам додатків керувати середовищем Visual Studio. NET, включаючи такі її елементи, як список завдань, панель інструментів, браузер властивостей, Solution Explorer, дизайнери, редактори і т.д. За допомогою TDL-документів архітектори можуть вказувати, які технології доступні для розробників, задавати початкові значення або діапазони початкових значень змінних, включати до складу проекту дизайнерські документи.

Засоби тестування


Засіб Application Center Test дозволяє розробникам збирати інформацію про продуктивність і виконувати функціональне тестування Web-сервісів і додатків, створених засобами Visual Studio. NET. Application Center Test підтримує скриптова мова і володіє можливістю імітації навантаження на Web-додатки і сервіси. Серед тестів, які підтримуються Application Center Test, можна відзначити Browser Record Test, що підтримує реєстрацію HTTP-запитів і відсилаються клієнтам Web-сторінок. Цей тест може бути як статичним, так і динамічним. При аналізі результатів тестування доступна наступна інформація:



Впровадження програм


Вхідні до складу Visual Studio. NET засобу впровадження програм характеризуються такими ключовими можливостями:



Висновок


У цій статті ми ознайомилися з основними новинками в засобі розробки для платформи. NET – Microsoft Visual Studio. NET, яке значно полегшує створення Web-сервісів і інтеграцію додатків з вже існуючими сервісами. Підтримується створення і клієнтського, і серверного коду з використанням знайомої багатьом розробникам інтегрованого середовища розробки, а також таких концепцій, як дизайнери, редактори властивостей і Windows-і Web-форми.
Новації в мовах програмування забезпечують повну підтримку концепцій об’єктно-орієнтованого програмування, полегшують інтеграцію з платформою. NET і дозволяють створювати різні типи програм – Від клієнтських додатків до Web-сервісів.
Повна підтримка створення корпоративних додатків розширює можливості архітекторів додатків і дозволяє з більшою продуктивністю створювати вирішення різних рівнів складності з використанням раніше створених програмних компонентів і моделей.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*