Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Лекция 7. Краткий обзор .Net Framework

Каркас .NET Framework разработан “с нуля”; его задача – предоставить программистам более эффективную и гибкую среду разработки как традиционных, так и Web-приложений. Одна из наиболее важных особенностей .NET Framework – его способность обеспечить “гладкую” совместную работу кода, написанного на различных языках. На рисунке показана структура .NET Framework.

В основе всего каркаса лежат системные сервисы. В текущей реализации это ядро состоит из сервисов Win32 API и COM+, хотя теоретически уровень абстрагирования можно создавать на основе сервисов любой операционной системы. Традиционно приложения вызывают API-функции операционной системы напрямую. В мире Win32 эту модель трудно реализовать разработчикам, программирующим на Visual Basic, так как некоторые API-функции требуют использовать структуры данных, которые легко создаются на C/C++, но отсутствуют в Visual Basic.

Уровнем выше системных сервисов располагается среда исполнения Common Language Runtime (CLR). Она загружает и выполняет код на любом предназначенном для этой среды языке. Такой код называется управляемым. (managed code). Среда исполнения CLR также поддерживает встроенную всеобъемлющую систему безопасности. В предыдущих Win32-средах в лучшем случае обеспечивалась безопасность файловых систем и сетевых ресурсов. Среда исполнения CLR обеспечивает безопасность к коду, что позволяет разработчикам определять разрешения, необходимые для исполнения программы. Во время загрузки и при выполнении методов, среда исполнения способна определять, разрешено ли предоставлять коду требуемый доступ. Разработчики могут также явно назначать ограниченные разрешения, например коду, выполняющему простые и не очень опасные действия, назначать минимальные разрешения. Основанная на ролях система безопасности, которую поддерживает CLR, позволяет установить разрешения, предоставленные пользователю, в чьем контексте выполняется код.

Среда исполнения CLR поддерживает работу классов .NET Framework, которые можно вызвать из любого языка программирования, поддерживающего .NET.

Поверх библиотеки классов .NET Framework располагаются ADO.NET и XML-данные. ADO.NET – это набор классов, применяемых в .NET Framework для доступа к данным. ADO.NET базируется на спецификацию ADO, но поддерживает XML и работу в неоднородной среде.

Уровнем вше находится слой поддержки двух различных приложений. Первый – это традиционные клиентские прикладные программы, в которых используются формы Windows. Другой тип – приложения ASP.NET, в том числе Web-формы и XML Web-сервисы.

Выше ASP.NET и форм Windows располагается слой специфики общего языка (Common Language Specification, CLS) и языков, которые соответствуют ей. CLS – это набор правил, которым должен соответствовать CLS-совместимый язык. Таким образом гарантируется, что у языков есть обязательный набор общих характеристик.

Промежуточный язык Microsoft Intermediate Language

Хотя описание работы ASP.NET и .NET Framework часто напоминает работу виртуальной Java машины (Java Virtual Machine, JVM) ASP.NET и JVM отличаются. Компилятор Java создает байт-код, который выполняется во время исполнения JVM-машиной. Этот способ немного отличается от принятого в .NET Framework метода, который заключается в создании машинного кода на основании текста на промежуточном языке во время исполнения, но это небольшое различие влечет значительные последствия в плане производительности.

.NET Framework коренным образом отличает код, который не интерпретируется во время исполнения, а преобразуется в “родной” машинный код и выполняется напрямую. Одно из преимуществ Java – жесткая система безопасности, поддерживаемая JVM. В .NET Framework обеспечивается такой же уровень безопасности наряду с возможностью исполнять “родной” код – при условии, конечно, что у пользователя достаточно прав. Существенное преимущество .NET Framework перед Java и JVM – выбор языка программирования. .NET Framework позволяет программистам пользоваться любым языком – от Visual Basic и C# до Eiffel и COBOL.

Соседние файлы в папке ПвИ