платформа. 1 лекция Платформа .Net. Изложение нового материала Работа платформе. Net
Скачать 49 Kb.
|
Проверка отсутствующих А) Сообщение темы: - Тема сегодняшнего занятия «Платформа .Net». В) Изложение нового материала: Работа платформе .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. В документации на каждый тип указана сборка , в которой он определен . При создании программы разработчик должен указать ( сделать ссылки ), какие библиотеки будут использоваться . |