Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический_курс.doc
Скачиваний:
36
Добавлен:
10.11.2019
Размер:
7.68 Mб
Скачать

3. Роль корневого пространства Microsoft

При изучении перечня, приведенного в таблице, нетрудно было заметить, что пространство имён System является корневым для приличного количества вложенных пространств имен (таких как System.IO, System.Data и т.д.). Как оказывается, однако, помимо System в библиотеке базовых классов предлагается ещё и ряд других корневых пространств имен наивысшего уровня, наиболее полезным из которых является пространство имён Microsoft.

В любом пространстве имён, которое находится внутри пространства имён Microsoft (как, например, Microsoft.CSharp, Microsoft.ManagementConsole и Microsoft.Win32), содержатся типы, применяемые для взаимодействия исключительно с теми службами, которые свойственны только лишь операционной системе Windows. Из-за этого не следует предполагать, что данные типы могут с тем же успехом применяться и в других поддерживающих .NET операционных системах вроде Маc OS X.

2.8. Общеязыковая инфраструктура cli Общеязыковая инфраструктура cli

К удивлению большинства разработчиков, сборки .NET могут разрабатываться и выполняться в средах операционных систем производства не только самой корпорации Microsoft, а в частности: на ОС Mac OS X, различных дистрибутивах Linux, Solaris, а также на устройствах типа iPhone и iPad производства корпорации Apple (через API-интерфейс MonoTouch*).Чтобы понять, что делает подобное возможным, необходимо рассмотреть еще одну используемую в мире .NET аббревиатуру — CLI, которая расшифровывается как Common Language Infrastructure (и переводится как «общеязыковая инфраструктура»).

Вместе с языком программирования С# и платформой .NET в Microsoft был также разработан набор официальных документов с описанием синтаксиса и семантики языков С# и CIL, формата сборок .NET, ключевых пространств имён и технических деталей работы гипотетического механизма исполняющей среды .NET (названного виртуальной системой выполненияVirtual Execution System (VES)).

Все эти документы были поданы в организацию Ecma International (http://www.ecma-international.org) и утверждены в качестве официальных международных стандартов. Среди них наибольший интерес представляют:

  • документ ЕСМА-334, в котором содержится спецификация языка С#;

  • документ ЕСМА-335, в котором содержится спецификация общеязыковой инфраструктуры (CLI).

Важность этих документов становится очевидной с пониманием того факта, что они предоставляют третьим сторонам возможность создавать дистрибутивы платформы .NET для любого количества операционных систем и/или процессоров. Среди этих двух спецификаций документ ЕСМА-335 является более «объёмным», причём настолько, что был разбит на шесть разделов, которые перечислены в следующей таблице:

Разделы документа ЕСМА-335

Предназначение

Раздел I. Концепции и архитектура

В этом разделе описана общая архитектура CLI, в том числе правила CTS и CLS и технические детали функционирования механизма среды выполнения .NET

Раздел II. Определение метаданных и семантика

В этом разделе описаны детали метаданных и формат сборок в .NET

Раздел III. Набор инструкций CIL

В этом разделе описан синтаксис и семантика кода CIL

Раздел IV. Профили и библиотеки

В этом разделе дается общий обзор тех минимальных и полных библиотек классов, которые должны поддерживаться в дистрибутиве .NET

Раздел V

В этом разделе описан формат обмена деталями отладки

Раздел VI. Дополнения

В этом разделе представлена коллекция дополнительных и более конкретных деталей, таких как указания по проектированию библиотек классов и детали по реализации компилятора CIL

Следует иметь в виду, что в разделе IV («Профили и библиотеки») описан лишь минимальный набор пространств имён, в которых содержатся ожидаемые от дистрибутива CLI службы (наподобие коллекций, консольного ввода-вывода, файлового ввода-вывода, многопоточной обработки, рефлексии, сетевого доступа, ключевых средств защиты и возможностей для манипулирования XML-данными). Пространства имён, которые упрощают разработку веб-приложений (ASP.NET), доступ к базам данных (ADO.NET) и создание настольных приложений с графическим пользовательским интерфейсом (Windows Forms и Windows Presentation Foundation) в CLI не описаны.

В главных дистрибутивах .NET библиотеки CLI дополняются совместимыми с Microsoft эквивалентами ASP.NET, ADO.NET и Windows Forms, чтобы предоставлять полнофункциональные платформы для разработки приложений производственного уровня. На сегодняшний день популярностью пользуются две основных реализации CLI (помимо самого предлагаемого Microsoft и рассчитанного на Windows решения).

ПРИМЕЧАНИЕ: MonoTouch ― платформа, позволяющая запускать приложения разработанные с и использованием .NET на различных мобильных устройствах в том числе: смартфонах (коммуникаторах) и планшетных компьютерах не под управлением Windows.