Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на С# для начинающих Урок №1(часть первая)


Урок №1.Немного о DOT.NET.

Я решил разбить на 2 части Урок №1, т.к. очень большой материал и выпуск будет слишком тяжелый=)И так, представляю Вам первую часть! Вторая выйдет на следующей неделе в понедельник (18.08.2008)!

Имена нынешнего поколения продуктов от Microsoft сопровождаются окончанием .Net (читается Dot Net), отражающим видение Microsoft современного коммуникативного мира. Компьютерные сети объединяют людей и технику. Человек, работающий с компьютером или использующий мобильный телефон, естественным образом становится частью локальной или глобальной сети. В этой сети используются различные специальные устройства, начиная от космических станций и кончая датчиками, расположенными, например, в гостиницах и посылающими информацию об объекте всем мобильным устройствам в их окрестности. В глобальном информационном мире коммуникативная составляющая любых программных продуктов начинает играть определяющую роль.

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

Все это реализовано в программном комплексе под названием Visual Studio (более подробно смотрите здесь).

Давайте познакомимся с платформой DOT.NET.

ПЛАТФОРМА – в контексте информационных технологий - среда, обеспечивающая выполнение программного кода. Платформа определяется характеристиками процессоров, особенностями операционных систем.
Framework – это инфраструктура среды выполнения программ, нечто, определяющее особенности разработки и выполнения программного кода на данной платформе. Предполагает средства организации взаимодействия с операционной системой и прикладными программами, методы доступа к базам данных, средства поддержки распределенных (сетевых) приложений, языки программирования, множества базовых классов, унифицированные интерфейсы пользователя, парадигмы программирования.
Microsoft .NET – платформа.
.NET Framework – инфраструктура платформы Microsoft .NET. Включает следующие основные компоненты: Common Language Runtime (CLR) и .NET Framework Class Library (.NET FCL).
CLS (Common Language Specification) – общая спецификация языков программирования. Это набор конструкций и ограничений, которые являются руководством для создателей библиотек и компиляторов в среде .NET Framework. Библиотеки, построенные в соответствии с CLS, могут быть использованы из любого языка программирования, поддерживающего CLS. Языки, соответствующие CLS (к их числу относятся языки Visual C# 2.0, Visual Basic, Visual C++), могут интегрироваться друг с другом. CLS – это основа межъязыкового взаимодействия в рамках платформы Microsoft .NET.
CLR (Common Language Runtime) – Среда Времени Выполнения или Виртуальная Машина. Обеспечивает выполнение сборки. Основной компонент .NET Framework. Под Виртуальной Машиной понимают абстракцию инкапсулированной (обособленной) управляемой операционной системы высокого уровня, которая обеспечивает выполнение (управляемого) программного кода.
Управляемый код – программный код, который при своем выполнении способен использовать службы, предоставляемые CLR. Соответственно, неуправляемый код подобной способностью не обладает. Об особенностях управляемого кода можно судить по перечню задач, решение которых возлагается на CLR:
1. Управление кодом (загрузка и выполнение).
2. Управление памятью при размещении объектов.
3. Изоляция памяти приложений.
4. Проверка безопасности кода.
5. Преобразование промежуточного языка в машинный код.
6. Доступ к метаданным (расширенная информация о типах).
7. Обработка исключений, включая межъязыковые исключения.
8. Взаимодействие между управляемым и неуправляемым кодами (в том числе и COM-объектами).
9. Поддержка сервисов для разработки (профилирование, отладка и т.д.).

Короче, CLR – это набор служб, необходимых для выполнения управляемого кода.
Сама CLR состоит из двух главных компонентов: ядра (mscoree.dll) и библиотеки базовых классов (mscorlib.dll). Наличие этих файлов на диске – верный признак того, что на компьютере, по крайней мере, была предпринята попытка установки платформы .NET.
Ядро среды выполнения реализовано в виде библиотеки mscoree.dll. При компоновке сборки в нее встраивается специальная информация, которая при запуске приложения (EXE) или при загрузке библиотеки (обращение к DLL из неуправляемого модуля – вызов функции LoadLibrary для загрузки управляемой сборки) приводит к загрузке и инициализации CLR. После загрузки CLR в адресное пространство процесса, ядро среды выполнения производит следующие действия:
1. находит расположение сборки;
2. загружает сборку в память;
3. производит анализ содержимого сборки (выявляет классы, структуры, интерфейсы);
4. производит анализ метаданных;
5. обеспечивает компиляцию кода на промежуточном языке (IL) в платформозависимые инструкции (ассемблерный код);
6. выполняет проверки, связанные с обеспечением безопасности;
7. используя основной поток приложения, передает управление преобразованному в команды процессора фрагменту кода сборки.
FCL (.NET Framework Class Library) – соответствующая CLS-спецификации объектно-ориентированная библиотека классов, интерфейсов и системы типов (типов-значений), которые включаются в состав платформы Microsoft .NET.
Эта библиотека обеспечивает доступ к функциональным возможностям системы и предназначена служить основой при разработке .NET-приложений, компонент, элементов управления.
.NET библиотека классов является вторым компонентом CLR.
.NET FCL могут использовать ВСЕ .NET-приложения, независимо от назначения архитектуры используемого при разработке языка программирования, и в частности:
-встроенные (элементарные) типы, представленные в виде классов (на платформе .NET все построено на структурах или классах);
-классы для разработки графического пользовательского интерфейса (Windows Forms);
-классы для разработки web-приложений и web-служб на основе технологии ASP.NET (Web Forms);
-классы для разработки XML и Internet-протоколов (FTP, HTTP, SMTP, SOAP);
-классы для разработки приложений, работающих с базами данных (ADO .NET) и многое другое.


В избранное