Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по программированию » .NET - Все статьи »

Обсудить на форуме Обсудить на форуме

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

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

Среда выполнения автоматически размещает объекты и управляет ссылками на объекты, освобождая их, когда они больше не используются. Объекты, чей жизненный цикл управляется таким образом, называются управляемыми данными. Автоматическое управление памятью позволяет избежать утечек памяти, а также избежать других общих ошибок программирования. Если ваш код управляемый, то вы можете использовать управляемые данные, неуправляемые данные или и те и другие одновременно в вашем приложении. Поскольку компиляторы языков поддерживают собственные типы (примитивные типы), вы можете не всегда знать точно, являются ли ваши данные управляемыми.

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

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

Компиляторы и утилиты расширяют функциональность среды выполнения, делая ее использование более удобной и интуитивно понятной. Некоторые возможности среды выполнения могут быть более заметны в одном окружении, чем в другом. Использование возможностей зависит от того компилятора языка или утилиты, которые вы используете. Если вы разработчик на Visual Basic, то вы можете заметить, что с использованием CLR, Visual Basic стал более объектно-ориентированным, чем до этого. Вас могут заинтересовать такие возможности среды выполнения, как

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

Если вы используете Microsoft® Visual C++.NET®, вы можете писать управляемый код, используя Managed Extensions for C++,  которые дают возможность использовать преимущества среды выполнения, продолжать иметь доступ к тем возможностям, с которым вы привыкли работать.  Вы можете отметить следующие возможности среды выполнения:

  • межъязыковая интеграция, особенно межъязыковое наследование.
  • автоматическое управление памятью, когда нет необходимости в подсчете ссылок на объект.
  • самоописывающиеся объекты, которые делают ненужным использование Interface Definition Language (IDL) .
  • возможность скомпилироваться один раз и запускаться на любом процессоре и операционной системе, проддерживаемыми средой выполнения


Может пригодится:


Автор: Microsoft
Прочитано: 4172
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру