Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Характеристика платформы .NET Framework




.NET Framework состоит из двух частей: общеязыковой исполняющей среды (common language runtime, CLR) и библиотеки классов (Framework Class Library, FCL). CLR предоставляет модель программирования, используемую во всех типах приложений. У CLR собственный загрузчик файлов, диспетчер памяти (сборщик мусора), система безопасности (безопасность доступа к коду), пул потоков и другое. Кроме того, CLR предоставляет объектно-ориентированную модель программирования, определяющую, как выглядят и ведут себя типы и объекты.

 

 

FCL предоставляет объектно-ориентированный API-интерфейс, используемый всеми моделями приложений. В ней содержатся определения типов, которые позволяют разработчикам выполнять ввод/вывод, планирование задач в других потоках, создавать графические образы, сравнивать строки и т.д. и т.п. Естественно, что все эти определения типов соответствуют существующей CLR в модели программирования.

К настоящему времени Microsoft выпустила такие версии .NET Framework:

· версия 1.0 выпущена в 2002 году и содержит версию 7.0 компилятора С# от Microsoft;

· версия 1.1 выпущена в 2003 году и содержит версию 7.1 компилятора С# от Microsoft;

· версия 2.0 выпущена в 2005 году и содержит версию 8.0 компилятора С# от Microsoft.

· версия 3.5 выпущена в 2008 году;

· версия 4.0 выпущена в 2009 году;

· версия 4.5 выпущена в 2012 году;

· версия 4.5.1, которая вышла с Visual Studio 2013 и входит в состав Windows 8.1.

 

Платформа Microsoft .NET Framework 3.0 — это новая модель программирования управляемого кода для операционной системы Windows. Она соединяет мощность платформы .NET Framework версии 2.0 и новые технологии разработки приложений, имеющих неповторимый графический интерфейс, использующих различные технологии обмена данными и способных поддерживать большое количество бизнес-процессов. Эти новые технологии — это Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation и Windows CardSpace. Платформа .NET Framework 3.0 является составной частью операционной системы Windows Vista; ее можно установить и удалить с помощью панели управления функциями Windows. Поддерживаемые операционные системы: Longhorn; Windows Server 2003 Service Pack 1; Windows Vista; Windows XP SP2; Windows XP SP3; Windows 7; Windows 8.

В основу .NET Framework 3.5 положены новые функции, представленные в .NET Framework 3.0. Например, наборы функций в Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) и Windows CardSpace. Кроме того, .NET Framework 3.5 содержит новые функции в ряде технических областей, добавленные в виде новых сборок во избежание нарушения структуры. Вот эти новые функции:

· Тесная интеграция объединенных языковых запросов (LINQ) и информационной осведомленности. Эта функция позволяет использовать одинаковый синтаксис для создания с помощью языков с поддержкой LINQ программного кода для выполнения фильтрации, перечисления и создания проектов, включающих несколько типов данных SQL, коллекций, XML и наборов данных.

· ASP.NET AJAX позволяет создавать более эффективный, интерактивный веб-интерфейс с широкими возможностями настройки, который поддерживается большинством популярных обозревателей.

· Поддержка нового веб-протокола для создания служб WCF, включая AJAX, JSON, REST, POX, RSS, ATOM и ряд новых стандартов WS-*.

· Полная инструментальная поддержка в Visual Studio 2008 для WF, WCF и WPF, а также новой технологии служб документооборота.

· Новые классы в библиотеке базовых классов (BCL) .NET Framework 3.5, предназначенные для обслуживания многих типичных запросов клиентов.

 

.NET Framework 4.5 представляет собой выполняемое на месте обновление версии .NET Framework 4, отличающееся высокой степенью совместимости с версией 4. Используя .NET Framework 4.5 вместе с языками программирования C#, Visual Basic и F# можно разрабатывать приложения для Windows. .NET Framework 4.5 включает значительные расширения языка и платформы для C#, Visual Basic и F#, которые позволяют упростить создание асинхронного кода, обеспечить смешение потока управления в синхронном коде, повысить быстроту отклика пользовательского интерфейса и улучшить масштабируемость веб-приложений. .NET Framework 4.5 также реализует существенные усовершенствования в других функциональных областях, таких как ASP.NET, Managed Extensibility Framework, Windows Communication Foundation, Windows Workflow Foundation и Windows Identity Foundation. .NET Framework 4.5 обеспечивает повышение производительности, надежности и безопасности.

Ниже речь идет только о версии .NET Framework 2.0 – прим. ОВН.

 

.NET Framework 2.0поддерживает 32-разрядные версии х8б, а также 64-разрядные версии хб4 и IA64 ОС Windows. Для КПК (с ОС Windows СЕ) и небольших устройств предоставляется «облегченная» версия .NET Framework по имени .NET Compact Framework. 13 декабря 2001 года Европейская ассоциация по стандартизации информационных и вычислительных систем (European Computer Manufacturers Association, ECMA) приняла в качестве стандартов язык программирования С#, определенные компоненты CLR и FCL. Документация по стандартам позволила другим организациям создать версии этих технологий, соответствующие стандартам ЕСМА для широкого круга ОС и процессоров.

В отличие от более ранних версий Windows, Microsoft Windows Vista поставляется с .NET Framework версии 2.0. Если требуется, чтобы приложение .NET Framework работало в более ранних версиях Windows, придется установить эту инфраструктуру вручную. К счастью, Microsoft предоставляет версию .NET Framework 1.1 для свободного распространения с приложениями (ОВН: действительно, см. http://www.microsoft.com/downloadS/).

Microsoft .NET Framework позволяет разработчикам в гораздо большей степени задействовать готовые технологии, чем предыдущие платформы разработки от Microsoft. В частности, .NET Framework предоставляет реальные возможности повторного использования кода, управления ресурсами, многоязыковой разработки, безопасности, развертывания и администрирования. При проектировании этой новой платформы Microsoft учла недостатки существующих Windows-платформ.

Вот далеко не полный список преимуществ CLR и FCL:

· Единая программная модель. В отличие от существующего подхода, когда одни функции ОС доступны через процедуры динамически подключаемых библиотек (DLL), а другие — через СОМ-объекты, весь прикладной сервис представлен общей объектно-ориентированной программной моделью.

· Упрощенная модель программирования. CLR избавляет от работы с разными потаенными структурами, как это было с Win32 и СОМ. Так, разработчику не нужно разбираться с реестром, глобальными уникальными идентификаторами (GUID), IUnknown, AddRef, Release, HRESULT и т. д. CLR не просто позволяет разработчику абстрагироваться от этих концепций — их просто нет в CLR в каком-бы то ни было виде. Конечно, если вы хотите написать приложение .NET Framework, которое взаимодействует с существующим не-.NET кодом, вам нужно разбираться во всех этих концепциях.

· Отсутствие проблем с версиями. Все Windows-разработчики знают о проблемах совместимости версий, известных под названием «ад DLL». Этот «ад» возникает, когда компоненты, устанавливаемые для нового приложения, заменяют компоненты старого приложения, и в итоге последнее начинает вести себя странно или перестает работать. Архитектура .NET Framework позволяет изолировать прикладные компоненты, так что приложение всегда загружает компоненты, с которыми оно строилось и тестировалось. Если приложение работает после начальной установки, оно будет работать всегда.

· Упрощенное развертывание и деинсталляция. Сегодня Windows-приложения очень трудно устанавливать и разворачивать: обычно нужно создать массу файлов, параметров реестра и ярлыков. К тому же полностью удалить приложение практически невозможно. В Windows 2000 Microsoft представила новый механизм установки, решающий многие проблемы, но по-прежнему остается вероятность, что его потребители не все сделают правильно. С приходом .NET Framework все эти проблемы остаются в прошлом. Компоненты .NET Framework не связаны с реестром. По сути, установка приложений .NET Framework сводится лишь к копированию файлов в нужные каталоги и созданию ярлыков в меню Start (Пуск), на рабочем столе или на панели быстрого запуска задач. Удаление же приложений сводится к удалению файлов.

· Работа на многих платформах. При компиляции кода для .NET Framework компилятор генерирует код на общем промежуточном языке (common intermediate language, CIL), а не традиционный код, состоящий из процессорных команд. При исполнении CLR транслирует CIL в команды процессора. Поскольку трансляция выполняется в период выполнения, генерируются команды конкретного процессора. Это значит, что вы можете развертывать свое приложение .NET Framework на любой машине, где работает версия CLR и FCL, соответствующая стандарту ЕСМА: с архитектурой х8б, хб4, IA64 и т. д. Пользователи оценят такую возможность при переходе с одной аппаратной платформы или ОС к другой.

· Интеграция языков программирования. СОМ поддерживает взаимодействие разных языков — .NET Framework обеспечивает интеграцию разных языков, то есть один язык может использовать типы, созданные на других языках. Например, CLR позволяет создать на C++ класс, производный от класса, реализованного на Visual Basic. В CLR это возможно из-за наличия общей системы типов (Common Type System, CTS), которую должны использовать все языки, ориентированные на CLR. Общеязыковая спецификация (Common Language Specification, CLS) определяет правила, которым должны следовать разработчики компиляторов, чтобы их языки интегрировались с другими. Сама Microsoft предлагает несколько таких языков: C++/CLI (C++ с управляемыми расширениями), С#, Visual Basic .NET, JScript и F#. Кроме того, другие компании и учебные заведения создают компиляторы других языков, совместимых с CLR.

· Упрощенное повторное использование кода. Все описанные выше механизмы позволяют создавать собственные классы, предоставляющие сервис сторонним приложениям. Теперь многократное использование кода становится исключительно простым и создается большой рынок готовых компонентов (типов).

· Автоматическое управление памятью (сбор мусора). Программирование требует большого мастерства и дисциплины, особенно когда речь идет об управлении использованием ресурсов (файлов, памяти, пространства экрана, сетевых соединений, ресурсов баз данных и прочих). Одна из самых распространенных ошибок — небрежное отношение к освобождению этих ресурсов, что может привести к некорректному выполнению программы в непредсказуемый момент. CLR автоматически отслеживает использование ресурсов, гарантируя, что не произойдет их утечки. По сути, она исключает возможность явного «освобождения» памяти.

· Проверка безопасности типов. CLR может проверять безопасность использования типов в коде, что гарантирует корректное обращение к существующим типам. Если входной параметр метода объявлен как 4-байтное значение, CLR обнаружит и предотвратит передачу 8-байтного значения в качестве значения этого параметра. Безопасность типов также означает, что управление может передаваться только в определенные точки (точки входа методов). Невозможно указать произвольный адрес и заставить программу исполняться, начиная с этого адреса. Совокупность всех этих защитных мер избавляет от многих распространенных программных ошибок (например, от возможности использования переполнения буфера для «взлома» программы).

· Развитая поддержка отладки. Поскольку CLR используется для многих языков, можно написать отдельный фрагмент программы на языке, наиболее подходящем для конкретной задачи, — CLR полностью поддерживает отладку многоязыковых приложений.

· Единый принцип обработки сбоев. Один из самых неприятных моментов Windows-программирования — несогласованный стиль сообщений о сбоях. Одни функции возвращают коды состояний Win32, другие — HRESULT, третьи генерируют исключения. В CLR обо всех сбоях сообщается через исключения, которые позволяют отделить код, необходимый для восстановления после сбоя, от основного алгоритма. Такое разделение облегчает написание, чтение и сопровождение программ. Кроме того, исключения работают в многомодульных и многоязыковых приложениях. И в отличие от кодов состояний и HRESULT исключения нельзя проигнорировать. CLR также предоставляет встроенные средства анализа стека, заметно упрощающие поиск фрагментов, вызывающих сбои.

· Безопасность. Традиционные системы безопасности обеспечивают управление доступом на основе учетных записей пользователей. Это проверенная модель, но она подразумевает, что любому коду можно доверять в одинаковой степени. Такое допущение оправданно, когда весь код устанавливается с физических носителей (например, с компакт-диска) или с доверенных корпоративных серверов. Но по мере увеличения объема мобильного кода, например Web-сценариев, приложений, загружаемых из Интернета, и вложений, содержащихся в электронной почте, нужен ориентированный на код способ контроля за поведением приложений. Такой подход реализован в модели безопасности доступа к коду.

· Взаимодействие с существующим кодом. В Microsoft понимают, что разработчики накопили огромный объем кода и компонентов. Переписывание всего этого кода, так чтобы он задействовал все достоинства .NET Framework, значительно замедлило бы переход к этой платформе. Поэтому в .NET Framework реализована полная поддержка доступа к СОМ-компонентам и Win32-функциям в существующих DLL.

 

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










Последнее изменение этой страницы: 2018-04-12; просмотров: 626.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...