Платформа .Net Framework

Автор: Пользователь скрыл имя, 16 Декабря 2011 в 01:41, реферат

Описание работы

За прошедшие десятилетия было создано множество технологий, призванных облегчить создание архитектуры и реализацию исходного кода приложений. Многие технологии предусматривают абстрагирование, которое позволяет разработчикам сосредоточиться на решении предметных задач, меньше думая об особенностях аппаратного обеспечения и операционных систем.
Целью данной работы является дать краткое описание платформы Microsoft. NETF ramework, ее структуры и принципов работы, показать ее преимущества и недостатки перед другими существующими технологиями, а также последние нововведения в платформу и перспективы ее развития.

Содержание

Введение
1. Обзор существующих технологий разработки программного обеспечения
2. Описание платформы NET Framework
3. Архитектура и принцип работы платформы NET Framework
3.1 Компиляция исходного кода
3.2 Процесс загрузки и исполнения кода в платформе NET
3.3 IL-код и верификация
3.4 Библиотека классов .NET Framework
4. Новые возможности платформы .NETFramework 4.0
Заключение
Список литературы.

Работа содержит 1 файл

Платформа .Net Framework.docx

— 45.03 Кб (Скачать)

        Министерство  образования и  науки Российской Федерации 

        ВОЛГОГРAДCКИЙ ГОCУДAРCТВEННЫЙ ТEХНИЧECКИЙ УНИВEРCИТEТ

        Кафедра САПРиПК

        Реферат

        по  теме: 

        Платформа .Net FrameWork 
     
     
     
     
     
     

        Выполнил:

        студент группы АС-563

        Архипов А.В. 

        Проверил:

        Шкурина Г.Л. 
     
     
     
     
     
     
     
     
     

        Волгоград,  2011 

        Оглавление

Введение

1. Обзор существующих  технологий разработки программного  обеспечения

2. Описание платформы NET Framework

3. Архитектура и принцип работы платформы NET Framework

3.1 Компиляция исходного кода

3.2 Процесс загрузки и исполнения кода в платформе NET

3.3 IL-код и верификация

3.4 Библиотека классов .NET Framework

4. Новые возможности платформы .NETFramework 4.0

Заключение

Список литературы. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение 

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

Целью данной работы является дать краткое описание платформы Microsoft. NETF ramework, ее структуры и принципов  работы, показать ее преимущества и  недостатки перед другими существующими  технологиями, а также последние  нововведения в платформу и перспективы  ее развития.

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

Единая модель программирования, API-интерфейс и  язык программирования – большой  шаг вперед в области технологий абстрагирования и огромная помощь разработчикам в их работе. Все  функции NETF ramework направлены на то, чтобы  оставить в прошлом проблемы интеграции, что значительно упростило тестирование, развертывание, администрирование, управление версиями, повторное использование  и переориентацию кода на выполнение других задач. 

1. Обзор существующих  технологий разработки  программного обеспечения 

Обзор платформы Microsoft NETF rameworkследует начать с обзора уже существующих альтернативных технологий, призванных облегчить создание архитектуры  и реализацию исходного кода приложений. Некоторые примеры таких технологий:

Microsoft Foundation Class (MFC) – уровень абстрагирования,  служащий в языке C++ для программирования  графического пользовательского  интерфейса для операционных  систем Windows. Используя MFC, разработчики  могут больше внимания уделить  самой программе и меньше заниматься  циклами обработки сообщений,  оконными процедурами, классами  окон и т. п. [1].

Java и J2EE– полностью  объектно-ориентированный, межплатформенный  язык программирования и платформа  на его основе для создания  приложений уровня предприятия.  Программы на Java транслируются в  байт-код, выполняемый виртуальной  машиной Java (JVM) – программой, обрабатывающей  байтовый код и передающей  инструкции оборудованию как  интерпретатор, но с тем отличием, что байтовый код, в отличие  от текста, обрабатывается значительно  быстрее[2].

ActiveServerPages (ASP)–  служит для абстрагирования при  создании активных и динамических Web-сайтов с использованием VisualBasicScript или JScript. Эта технология позволила разработчикам абстрагироваться от особенностей сетевых взаимодействий и больше внимания уделять содержанию Web-страниц.

ActiveTemplateLibrary (ATL) – уровень абстрагирования, облегчающий  создание компонентов, которые  доступны для использования специалистами,  работающими с различными языками  программирования.

Все эти технологии абстрагирования создавались, чтобы  разработчики могли забыть о технических  деталях и сосредоточиться на конкретных вещах, будь то приложения с графическим пользовательским интерфейсом, Web-приложения или компоненты. Несмотря на то, что эти технологии значительно облегчали работу, они  требовали от программиста осваивать  массу материала. Также различные  технологии разрабатывались без  расчета на совместное использование, и разработчики сталкивались с необходимостью решать непростые проблемы интеграции[1].

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

Все функции NETF ramework направлены на то, чтобы оставить в прошлом проблемы интеграции, что  значительно упростило тестирование, развертывание, администрирование, управление версиями, повторное использование  и переориентацию кода на выполнение других задач[3]. 

2. Описание платформы  NET Framework 

При проектировании платформы Net Framework, компания Microsoft учла недостатки существующихWindows-платформ.NET Framework состоит из двух частей: общеязыковой исполняющей среды (commonlanguageruntime, CLR) и библиотеки классов (Framework Class Library, FCL). CLR предоставляет модель программирования, используемую во всех типах приложений. У CLR собственный загрузчик файлов, диспетчер памяти (сборщик мусора), система безопасности (безопасность доступа к коду), пул потоков  и многое другое. Кроме того, CLR предоставляет  объектно-ориентированную модель программирования, определяющую, как выглядят и ведут  себя типы и объекты. FCL предоставляет  объектно-ориентированный API-интерфейс, используемый всеми моделями приложений. В ней содержатся определения  типов, которые позволяют разработчикам  выполнять ввод/вывод, планирование задач в других потоках, создавать  графические образы, сравнивать строки и т. п. Естественно, что все эти  определения типов соответствуют  существующей модели программирования в CLR. Ниже представлен список возможностей и преимуществ платформы NET:

- Полное и  абсолютное межъязыковое взаимодействие. В .NET Framework.Поддерживаются межъязыковое  наследование, межъязыковая обработка  исключений и межъязыковая отладка.

- Общая среда  выполнения для любых приложений .NET, вне зависимости от того, на  каких языках они были созданы.  Один из важных моментов при  этом то, что для всех языков  используется один и тот же  набор встроенных типов данных[2].

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

- Упрощенная  модель программирования. Избавляет  от работы с разными структурами,  как это было с Win32 и СОМ.  Так, разработчику не нужно  разбираться с реестром, глобальными  уникальными идентификаторами (GUID), IUnknown, AddRef, Release, HRESULT и т. д.

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

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

- Работа на  многих платформах. При компиляции  кода для .NET Framework компилятор генерирует  код на общем промежуточном  языке (CommonItermediateLanguage, CIL), а не  традиционный код, состоящий из  процессорных команд. При исполнении CIL транслируется в команды процессора. Поскольку трансляция выполняется  в период выполнения, генерируются  команды конкретного процессора. Это значит, что можно развертывать  свое приложение NET Framework на любой  машине, где работает версия .NET Framework соответствующая стандарту ЕСМА: с архитектурой х86, х64, IA64 и т.  д.

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

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

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

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

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

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

Информация о работе Платформа .Net Framework