Слайд 2

Для долговременного хранения программа размещается на внешнем запоминающем устройстве в виде файлов.

Для долговременного хранения программа размещается на внешнем запоминающем устройстве в виде файлов.
Часть программы, которая хранится в одном файле, называется модулем (в простом случае программа хранится в одном файле). Имена файлов назначает разработчик, а расширения файлов назначаются автоматически. Модуль, содержащий программу на языке высокого уровня, называется исходным модулем. Текст исходного модуля состоит из отдельных предложений, называемых операторами. Модуль, содержащий программу в виде, готовом для загрузки в среду исполнения, называется исполняемым модулем. Есть две основные схемы преобразования исходного модуля в исполняемый модуль: трансляция и интерпретация. Схема трансляции используется для представления исполняемого модуля в виде машинных команд (исходный модуль должен быть предварительно переведен на язык машинных команд; перевод выполняется специальной программой – транслятором). Схема интерпретации используется для непосредственного распознавания и выполнения операторов исходного модуля. Распознавание и выполнение операторов возлагается на специальную программу – интерпретатор (в этом случае понятия исходного и исполняемого модуля совпадают). Средства разработки могут использоваться автономно или объединятся в систему. В первом случае запуск каждого из средств инициируется разработчиком путем ввода команды операционной системы. Средства разработки, объединенные в систему на основе общего интерфейса и общей базы данных, образуют среду программирования.

Слайд 3

Платформа .Net Framework предназначена для разработки и выполнения приложений: -автономное консольное приложение с

Платформа .Net Framework предназначена для разработки и выполнения приложений: -автономное консольное приложение
использованием текстового интерфейса; -автономное Windows-приложение с использованием графического интерфейса; -автономное WPF-приложение с использованием графического интерфейса; -библиотека классов, которые предназначены для использования других приложениях; -Web-приложение, доступ к которому выполняется через браузер, и которое по запросу формирует Web-страницу и отправляет ее клиенту по сети; -Web-сервис – компонент, методы которого могут вызываться через Интернет; ADO.Net приложения для работы с БД и др.

Слайд 4


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

Приложение может выполняться в режиме управляемого или небезопасного кода. управляемый код: исходный
должен быть переведен на специально разработанный для платформы промежуточный язык CIL (Common Intermediate language). Для исполнения кода на промежуточном языке приложения используется специальная программная компонента платформы – общеязыковая среда исполнения CLR.
небезопасный код: исходный код должен быть переведен на язык машинных команд. Машинный код исполняется непосредственно под управлением ОС.
Платформа .NET Framework является надстройкой над операционной
системой, в качестве которой может выступать любая версия Windows, Unix и
другие ОС и состоит из ряда компонентов.
.NET Framework включает в себя:
Четыре официальных языка: С#, VB.NET, Managed C++ и JScript .NET..
Общеязыковую объектно-ориентированную среду выполнения CLR (Common Language Runtime), совместно используемую этими языками для создания приложений.
Ряд связанных между собой библиотек классов под общим именем FCL (Framework Class Library).
Взаимосвязи компонентов платформы .NET Framework представлены на рис.
Таким образом, платформа .NET Framework содержит две компоненты:
Статическая компонента – базовая библиотека классов, содержащая обширный набор готовых к использованию программных компонент на промежуточном языке. Базовая библиотека классов является общей для всех языков программирования, поддерживаемых в платформе.
Динамическая компонента – общеязыковая среда выполнения (CLR).

Слайд 6

В .NET Framework для работы с ОС Windows используется библиотека классов .NET

В .NET Framework для работы с ОС Windows используется библиотека классов .NET
Framework, которая содержит более 10 000 различных типов: классов, структур, интерфейсов, перечислений и делегатов. Библиотека FCL полностью объектно-ориентированная и используется всеми языками, которые работают с платформой .Net. Библиотека FCL содержит набор системных типов данных, для которых в конкретных языках программирования делается соответствие с используемыми ими типами данных. Для простоты использования FCL, все ее содержание структурировано в виде иерархически организованных групп типов. Каждая группа типов называется пространством имен. Всего в FCL около 100 таких пространств. В каждом из них содержатся классы и другие типы, имеющие некоторое общее назначение. Например, большая часть API Windows для управления окнами содержится в пространстве имен System.Windows.Forms (здесь находятся все классы, представляющие окна, диалоги, меню и другие элементы, обычно применяемые в приложениях с графическим интерфейсом пользователя). Отдельное пространство – System.Collections – содержит классы коллекций и словарей, в пространстве имен System.IO – классы для работы с данными на внешних устройствах.

Слайд 7

Компиляция и выполнение программы в среде CLR
Раньше почти все компиляторы генерировали код

Компиляция и выполнение программы в среде CLR Раньше почти все компиляторы генерировали
для конкретных
процессорных архитектур. Все CLR-совместимые компиляторы генерируют CIL
код, который называется управляемым модулем, потому что CLR управляет его
жизненным циклом и выполнением. Составные части управляемого модуля:
Заголовок PE32 или PE32+: Файл с заголовком в формате PE32 может
выполняться в 32- или 64-разрядной ОС, а с заголовком PE32+ только в 64
разрядной ОС. Заголовок показывает тип файла: GUI, GUI или DLL, он также
имеет временную метку, показывающую, когда файл был собран. Для модулей,
содержащих только IL-код, основной объем информации в РЕ-заголовке
игнорируется, Для модулей, содержащих процессорный код, этот заголовок
содержит сведения о процессорном коде.
Заголовок CLR: Содержит информацию, которая превращает этот модуль в
управляемый. Заголовок включает нужную версию СLR, некоторые флаги,
метку метаданных, точки входа в управляемый модуль (метод Main),
месторасположение и размер метаданных модуля, ресурсов и т.д.
Метаданные - это набор таблиц данных, описывающих то, что определено в
модуле. Есть два основных вида таблиц: описывающие типы и члены,
определенные в исходном коде, и описывающие типы и члены, на
которые имеются ссылки в исходном коде.
Метаданные:
- устраняют необходимость в заголовочных и библиотечных файлах при
компиляции, так как все сведения о типах и членах, на которые есть
ссылки, содержатся в файле с IL-кодом, в котором они реализованы.
Компиляторы могут читать метаданные прямо из управляемых модулей.
- при компиляции IL-кода в машинный код CLR выполняет верификацию
(проверку «безопасности» выполнения кода) используя метаданные,
например, нужное ли число параметров передается методу, корректны ли
их типы, правильно ли используется возвращаемое значение и т.д.
- озволяют сборщику мусора отслеживать жизненный цикл объектов и т.д.
CIL-код: управляемый код, создаваемый компилятором при компиляции исходного кода. Во время исполнения CLR компилирует IL-код в команды процессора.
По умолчанию CLR-совместимые компиляторы генерируют управляемый код,
безопасность выполнения которого поддается проверке средой CLR. Вместе с
тем возможно разрабатывать неуправляемый или «небезопасный» код,

Слайд 8

которому разрешается работать непосредственно с адресами памяти и
управлять байтами в этих адресах.

которому разрешается работать непосредственно с адресами памяти и управлять байтами в этих
Эта возможность, обычно полезна при
взаимодействии с неуправляемым кодом или при необходимости добиться
максимальной производительности при выполнении критически важных
алгоритмов. Однако использовать неуправляемый код довольно рискованно,
т.к. он способен разрушить существующие структуры данных.
Преимущества платформы .Net для разработки программ:
Объектно-ориентированное программирование - .Net Fraemwork и C# полностью базируются на объектно-ориентированных принципах;
Дизайн - библиотека классов организована с очень понятным интерфейсом;
Независимость о языка - языки С#, J#, C++ обладают возможность взаимодействия, так как компилируются в общий язык – CIL;
Динамические Web - страницы - в .Net включена интегрированная поддержка Web - страниц с применением новой технологии - ASP.NET;
Доступ к данным - компоненты ADO.NET предоставляют эффективный доступ к базам данным. ADO.NET - основная модель доступа к данным(базам данных) для приложений, основанных на Microsoft .NET. Представляет собой самостоятельную технологию. Компоненты ADO.NET входят в поставку оболочки .NET Framework;
Встроена поддержка XML. XML - расширяемый язык разметки, представляющий собой свод общих правил. XML – текстовый формат, предназначенный для хранения структурированных данных и обмена информацией между программами;
Разделение кода - .Net заменил способ разделения кода между приложениями, введя концепцию сборки, заменившая .DLL;
Безопасность приложений - каждая сборка содержит информацию о безопасности и определяет какая категория пользователей может работать с классами и процессами;
Поддержка Web -служб - процесс разработки web - служб стал наиболее доступен и разрабатывается как обычное программное обеспечение;
C# - новый объектно - ориентированныя язык, предназначенный для применения с .NET;
Строгая иерархичность организации пространств для типов, классов и имен сущностей программы позволяет стандартизировать и унифицировать реализацию;
Новый подход к интеграции компонент приложений в среде вычислений Internet (или так называемые веб-сервисы) дает возможность ускоренного создания приложений для широкого круга пользователей;.