Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скомпанованное пособие.docx
Скачиваний:
1
Добавлен:
07.05.2019
Размер:
3.3 Mб
Скачать

Лабораторная работа № 3

Высокоуровневые методы разработки приложений на языке

C# в среде Visual Studio .Net

Цель работы  ознакомление с основными компонентами и набором инструментов интегрированной среды разработки Visual Studio .NET, изучение структуры проектных файлов простейших приложений, создаваемых автоматически на языке C# с использованием библиотеки базовых классов платформы .NET, приобретение навыков построения собственных проектов, форм и классов, а также овладение способами модификации, сохранения и восстановления проектных файлов создаваемого приложения.

3.1 Среда Visual Studio и платформа .Net

Среда Visual Studio  это полностью интегрированная визуальная студия разработки, которая одинаково хорошо справляется с языками C++, C#, J# и Visual Basic, а также с ASP.NET, позволяя создавать объектно-ориентированные Windows-приложения и Web-службы. Она является основным компонентом многоязыковой технологии .NET (СЕТЬ). Программными инструментами этой технологии являются платформа .NET Framework и набор ориентированных на эту платформу компиляторов для объектно-ориентированных языков программирования, состав которых постоянно расширяется.

Платформа .NET Framework, на которой работает студия Visual Studio .NET и создаваемые с ее помощью приложения, является каркасом и виртуальным интерфейсом для доступа к API-функциям операционной системы Windows. Она позволяет максимально упростить процесс написания исходной программы, ее отладки и компиляции в сборку (Assembly)  управляемый код для поставки потребителям в виде исполняемых приложений, служб, Web-страниц или библиотек. Инструментами платформы являются библиотека базовых классов .NET Framework (FCL) и общеязыковая исполняющая среда (Common Language Runtime CLR).

Компиляторы языков программирования производят синтаксическую проверку исходных программ и компонуют сборки управляемых кодов (Assembly). Выбор языка для среды программирования .NET становится практически вопросом личных предпочтений. «Общеязыковая» в словосочетании «общеязыковая исполняющая среда» указывает на то, что язык программирования не влияет на структуру управляемого кода и его работу. Другие среды не предоставляли такие возможности. Так, в программе на Visual Basic сложно запускать новые потоки. Хуже того, современные языки, такие как Visual Basic и Visual C++, используют разные API, и поэтому знания, приобретенные при написании Windows-программ на Visual Basic, будут стоить весьма немного, когда потребуется написать DLL на C++.

Платформа .NET Framework все меняет благодаря использованию общей системы предопределенных типов (Common Type System  CTS) и общей спецификации языков (Common Language Specification  CLS). Язык — это просто синтаксическое устройство для генерации кода на промежуточном языке IL, и за немногочисленными исключениями все, что можно сделать на одном языке, возможно и на всех остальных. Более того, независимо от языка, на котором они написаны, все управляемые приложения используют один и тот же интерфейс прикладного программирования  API библиотеки базовых классов .NET Framework. Перенос приложения Visual Basic на Visual C++ лишь немногим проще написания приложения с нуля. В то же время перенос приложения Visual Basic .NET на языке C# (или наоборот) гораздо проще. В прошлом несовершенство инструментов для преобразования программ из одного языка в другой делало их практически бесполезными.

Библиотека базовых классов FCL содержит огромную коллекцию классов управляемого кода (сборок) и предоставляет пользователям объектно-ориентированный интерфейс API, к которому обращаются управляемые приложения. При написании приложений для .NET Framework нет необходимости использовать библиотеки Windows API, MFC, ATL, COM и другие технологии.

Общеязыковая исполняющая среда CLR абстрагирует сервисы операционных систем и служит механизмом для исполнения управляемых приложений (Managed Applications), любое действие которых должно получить одобрение со стороны этой среды.

Каждый байт кода, написанный для этой инфраструктуры, либо исполняется CLR, либо получает ее разрешение на исполнение за ее пределами. Ничто не происходит без участия CLR.

Программа CLR расположена поверх операционной системы Windows и предоставляет виртуальную среду для управляемых приложений. При запуске управляемой программы исполняющая среда CLR загружает содержащий ее модуль и исполняет его код. Код, предназначенный для CLR, называется управляемым кодом и состоит из команд псевдомашинного языка — общего промежуточного языка (Common Intermediate Language CIL, или просто IL). Команды CIL компилируются в машинный код (обычно код процессора x86) по запросу (Just-In-Time) в период выполнения. Обычно JIT-компиляция любого метода происходит лишь раз — при первом его вызове, и затем результат компиляции кэшируется в памяти, чтобы при повторном вызове он мог быть исполнен без задержки. Код, который никогда не вызывается, никогда и не компилируется. Хотя компиляция по запросу, несомненно, снижает производительность, эти накладные расходы компенсируются тем, что на протяжении исполнения приложения каждый метод компилируется не более раза, а также быстротой и эффективностью JIT-компилятора.

Рисунок 3.1 Средства платформы .NET во время компиляции и выполнения