Главная страница

платформа. 1 лекция Платформа .Net. Изложение нового материала Работа платформе. Net


Скачать 49 Kb.
НазваниеИзложение нового материала Работа платформе. Net
Анкорплатформа .net
Дата22.02.2020
Размер49 Kb.
Формат файлаdoc
Имя файла1 лекция Платформа .Net.doc
ТипИзложение
#109450


Проверка отсутствующих

А) Сообщение темы:

- Тема сегодняшнего занятия «Платформа .Net».
В) Изложение нового материала:


    1. Работа платформе .Net


В 2002 г . компания Microsoft создала новую платформу разработки и выполнения программ . NET Framework.
Платформа .Net Framework она же Платформе .Net предоставила новый подход к созданию и выполнению прикладных программ ( приложений ). Она является полностью объектно ориентированной и позволяет использовать уже имеющиеся типы данных и создавать новые . В .NET под термином « тип » понимаются : классы , структуры , перечисления. . Платформа .NET позволяет разрабатывать компоненты, которые предоставляют другим компонентам доступ к описанным в них типам .
Основными компонентами платформы .NET являются :

 новый формат выполняемых программных модулей (EXE и DLL), называемых сборками (assembly), или управляемыми модулями ; их основной особенностью является использование общего промежуточного языка программирования и метаданных , описывающих все содержащихся в них открытые типы данных ;

специальная виртуальная машина, которая управляет компиляцией команд промежуточного языка; ( общеязыковая исполняющая среда , Common Language Runtime, CLR), которая управляет компиляцией.

общая библиотека классов .NET Framework, которые реализуют все базовые функции управляемых приложений ( например : работа с коллекциями , файлами , сетями , графическим интерфейсом )

набор программных средств , помогающих разрабатывать управляемые модули , как например : компиляторы и отладчики ; основным средством разработки является интегрированная среда разработки – Visual Studio, позволяющая автоматизировать разработку приложений на всех языках , поддерживаемых платформой .NET."
Так как управляемые приложения, разработанные с использованием всех доступных языков программирования на платформе .NET, компилируются не в инструкции процессора ( машинные команды ), а в операторы промежуточного языка CIL, то и выбор языка программирования становится практически вопросом личных предпочтений . Термин « общеязыковая » в словосочетании « общеязыковая исполняющая среда » указывает на то , что CLR безразлична к языку программирования . Microsoft поставляет компиляторы , создающие модули на промежуточном языке CIL, для четырех языков программирования : С #, C++, VisualBasic и JScript."
Независимо от языка программирования, на котором написаны управляемые приложения, они используют один и тот же интерфейс прикладного программирования (Application Program Interface, API):

Управляемые модули В результате обработки исходного кода программы компилятором , способным преобразовать его в операторы языка CIL, получается управляемый модуль (managed module), предназначенный для выполнения под управлением среды CLR. Файлы , содержащие такие модули , имеют такие расширения , как EXE, DLL или NETMODULE. Управляемые модули содержат следующие основные элементы :

заголовок файла Windows Portable Executable (PE);

заголовок CLR , содержащий такие сведения , как местоположение кода на языке CIL и метаданных ;

метаданные , описывающие все типы данных , которые содержатся внутри модуля , и ссылки на другие используемые модули ;

команды CIL , созданные на основе компиляции исходного текста .

Метаданные – это обязательный компонент управляемого модуля ,

их создаёт каждый CIL совместимый компилятор . С помощью метаданных управляемый модуль описывает сам себя . С помощью метаданных можно легко узнать , какие ( классы , интерфейсы ) содержатся в управляемом модуле .
Основные метаданные модулей хранятся в виде набора таблиц . В одной из них ( TypeDef ) перечислены определенные в этом модуле типы . В другой таблице перечислены методы , реализованные этими типами , в третьей – поля , в четвертой – свойства и т . д . Используя эти таблицы , можно составить список всех типов данных , определенных в модуле , а также элементов , из которых состоит каждый тип . В некоторых таблицах перечислены ссылки на внешние типы , сборки , содержащие внешние типы . Формат метаданных для прикладного разработчика большого интереса не представляет . Однако в составе .NET Framework SDK имеется утилита ILDASM , которая позволяет просматривать содержание управляемых модулей .
Промежуточный язык CIL часто называют псевдо ассемблером , т . к . как он определяет набор команд виртуального процессора . Для составления программ для .NET Framework не нужно знать язык CIL, однако общее представление о нем иметь надо .

Язык CIL содержит примерно 100 команд . Некоторые из них – низкоуровневые , аналогичные командам микропроцессоров , например команды сложения двух значений ( ADD ) или перехода , если два значения равны ( BEQ ). Другие , более высокого уровня , редко встречаются в аппаратных наборах команд . Например , команда NEWOBJ создает экземпляр объекта , а THROW генерирует исключение . Благодаря таким большим возможностям команд CIL, исходный код на языке высокого уровня , таком как С # или Visual Basic, зачастую порождает при компиляции достаточно малое число команд .

Язык CIL использует стековую модель исполнения . Если процессоры х86 для обработки значений загружают их в регистры , то CLR помещает их в вычислительный стек . Чтобы сложить два числа , они копируются в стек , вызывается команда ADD , и результат считывается из стека . Копирование значения из памяти в стек называется загрузкой (loading), а копирование в обратном направлении – сохранением (storing). В CIL есть несколько команд загрузки и сохранения . Например , LDLOC загружает в стек значение по некоторому адресу в памяти , a STLOC копирует значение из стека в память , удаляя его из стека .

Давайте Разберём пример работы языка CIL можно рассмотреть фрагмент программы С #, в котором объявляются и инициализируются две переменные , а затем они суммируются , и результат записывается в третью переменную :

int а = 3;

int b = 7;

int с = а + b.

В среде ОС Windows 7 и 8 платформа .NET уже имеется и ничего устанавливать не требуется , кроме visual studio – системы разработки
При программировании на языке С для взаимодействия с ОС Windows обычно используются вызовы функции интерфейса Windows API и различные динамические библиотеки DLL; при программировании на языке С ++ часто используется стандартная библиотека классов MFC (Microsoft Foundation Classes). При программировании на языке Visual Basic используется интерфейс Visual Basic API, представляющий набор функций для работы с низкоуровневыми возможностями Windows API. В .NET Framework используется новый прикладной интерфейс – библиотека классов .NET Framework, которая содержит более 10 000 различных типов : классов , структур , интерфейсов , перечислений и делегатов . Некоторые классы FCL содержат до 100 методов , свойств. Чтобы уметь разрабатывать приложения в .Net Framework, требуется не только знание программирования на некотором языке , но и умение использовать библиотеку FCL. Достоинством FCL является то , что она полностью объектно ориентированная , и может использоваться всеми языками , которые работают на платформе .Net. Все языки используют один и тот же API при создании разных типов приложений ( локальных или распределенных ).

Библиотека FCL содержит набор системных типов данных , для которых в конкретных языках программирования делается соответствие с используемыми ими типами данных .

Для облегчения использования FCL всё её содержание хорошо структурировано в виде иерархически организованных групп типов . Каждая группа типов называется пространством имен . Всего в FCL около 100 таких пространств . В каждом из них содержатся классы и другие типы , имеющие некоторое общее назначение . Например , большая часть Windows API для управления окнами содержится в пространстве имен System.Windows.Forms . Здесь находятся все классы , представляющие окна , диалоги , меню и другие элементы , обычно применяемые в приложениях с графическим интерфейсом пользователя . Отдельное пространство –System.Collections – содержит классы коллекций и словарей , а в пространстве имен System.IO – классы для работы с данными на внешних устройствах .
Реально библиотека FCL представляет собой набор DLL файлов ( файлов в формате динамических библиотек ) в папке %SystemRoot%\Microsoft.NET\Framework\v1.0.nnnn . (SystemRoot, как правило это c:\Windows) Каждый DLL файл – это сборка , загружаемая CLR по запросу . Встроенные типы данных , такие как целые , вещественные , логические , реализованы в модуле Mscorlib.dll , другие типы разнесены по разным DLL файлам библиотеки FCL. В документации на каждый тип указана сборка , в которой он определен . При создании программы разработчик должен указать ( сделать ссылки ), какие библиотеки будут использоваться .






написать администратору сайта