Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк ВМСР.doc
Скачиваний:
7
Добавлен:
16.11.2019
Размер:
96.77 Кб
Скачать

3.5 Библиотека классов

Библиотека классов представляет собой набор объектно-ориентированных типов, которые .NET Framework предлагает пользователю для создания управляемого кода. Поскольку вся функциональность, делающая код управляемым, «зашита» в эти типы, то нельзя создавать управляемый код, не используя библиотеку классов.

Библиотека классов .NET Framework включает в себя все, что необходимо для решения задач программирования: управление строками, работу с наборами данных, подключение к базам данных и осуществление доступа к файлам. В дополнение к этим функциям библиотека классов включает в себя типы, которые поддерживают различные специализированные сценарии разработки. Например, можно использовать .NET Framework для разработки консольных приложений, оконных приложений Windows с графическим интерфейсом (Windows Forms), приложений ASP.NET, служб XML Web services, служб Windows.

Библиотека классов легко расширяема, в ней присутствует набор интерфейсов, позволяющий создавать свои собственные коллекции классов, а также осуществлять межъязыковое программирование и встраивание в управляемый код уже существующих компонентов. Вся библиотека классов в .NET Framework построена с учетом спецификации межъязыкового взаимодействия (CLS) и при разработке своих классов, расширяющих библиотеку классов, это необходимо учитывать.

Библиотека классов построена с учетом соглашений о том, как следует именовать ее элементы и иерархические структуры. Любое имя типа в библиотеке классов разделяется точками, например, System.Collections.ArrayList. В этом имени ArrayList– это имя типа, a System.Collections – пространство имен.

Предлагается пространства имен строить по следующим правилам: сначала будет записываться название фирмы, затем через точку – название технологии, затем – имя типа. Например: Microsoft.Word.Documents. Подразделение всей библиотеки на пространство имен делает легким и бесконфликтным назначение имен типам. Каждый разработчик может чувствовать себя защищенным от дублирования имен типов и технологий внутри собственного пространства имен. Пространство имен System является корневым пространством имен в среде .NET Framework, содержащим все базовые типы и методы, на которых основана работа приложений CLR.

4 Сопровождающие составляющие платформы .Net Framework

4.1 Перечень сопровождающих функциональных составляющих концепции .Net.

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

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

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

Сборка может включать в себя 4 элемента:

– манифест сборки;

– метаданные типов;

– код MSIL, реализующий типы;

– набор ресурсов.

Обязательным является только манифест сборки, остальные нужны как средства реализации функциональности.

– домены приложений (application domains) – некоторый контекст выполнения приложения, который изолирует объекты, созданные внутри одного приложения, от объектов, созданных внутри другого приложения.

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

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

– общая система типов (CTS) – система правил построения типов в .NET Framework, позволяющая осуществлять безопасное и единообразное взаимодействие любых объектов, основанное на одинаковом определении типов;

Общая система типов платформы .NET Framework определяет порядок, в котором CLR позволяет создавать, использовать и управлять типами.

– метаданные (metadata) –это двоичные данные, которые сохраняются в файле формата РЕ(Portable Executable) или в памяти. Во время компиляции метаданные размещаются в одной части файла, а исходный код, преобразованный в язык MSIL, – в другой. Каждый тип и элемент, который объявлен или на который ссылается модуль или сборка, описывается в метаданных.

– межъязыковое взаимодействие (cross-language interoperability) и CLS – способность кода, написанного на одном языке, взаимодействовать с кодом, написанным на другом языке, в том числе производить межъязыковую генерацию и обработку исключительных ситуаций, основываясь на наборе правил, называемом межъязыковой спецификацией (CLS);

Среда .NET Framework позволяет осуществлять взаимодействие между блоками кода, написанными на разных языках, т.е. можно легко использовать любой код как во время проектирования, так и во время исполнения.

Единственное условие для того, чтобы такое взаимодействие было возможно, код должен соответствовать единому стандарту. Этот стандарт в .NET Framework называется общеязыковой спецификацией (CLS). В справочной системе типов MSDN (Microsoft Developer Network) отмечается, соответствует ли тот или иной тип CLS. В случае, если в разработке приложения используются только типы, соответствующие CLS, приложение становится полностью межъязыковым вне зависимости от того, на каком из управляемых языков оно написано.

– безопасность –предоставляет собой механизмы для защиты ресурсов и кода от несанкционированного доступа пользователей и программ, параллельное выполнение версий (side-by-side execution (Параллельное выполнение объектов и приложений означает, что CLR дает приложению средства вызова той или иной версии DLL (объекта) для использования ее специфических возможностей. CLR разрешает параллельное исполнение произвольного количества разных версий одного объекта, причем одновременно и в рамках одной сборки),возможность одновременного запуска на одной машине разных версий одного и того же кода;

– серверы загрузки (Runtime Hosts) – приложения, загружающие CLR.

Каждый тип приложения .NET Framework требует наличия некоторого кода для своего запуска, называемого сервером загрузки. Сервер загрузки загружает среду выполнения в процесс, создает процесс с доменом приложения и затем загружает пользовательский код в домен приложения и инициирует его выполнение.

В составе .NET Framework предусмотрено несколько приложений, работающих в качестве серверов загрузки для некоторых наиболее распространенных задач: это сервер загрузки ASP.NET и Microsoft Internet Explorer.