Введение в теорию программирования. Объектно-ориентированный подход



Платформа.NET и ее применение для объектно-ориентированного подхода к программированию - часть 3


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

Рассмотрим достаточно обобщенный пример трансляции многокомпонентного гетерогенного программного проекта под управлением Microsoft .NET (см. рис. 14.3).

Предположим, что компоненты проекта написаны на трех языках программирования: уже знакомом нам языке SML, изучаемом языке C#, а также языке С++, который характеризуется возможностью создания потенциально небезопасного кода (в частности, динамического распределения памяти).

Исходные тексты компонент проекта транслируются, соответственно, компиляторами с языков SML, C# и C++ в унифицированный MSIL-код и сохраняются в файлах в виде сборок.

В ходе компоновки и выполнения программного проекта Just-In-Time (JIT) компилятор среды CLR производит выполнение проекта с "ленивым" (по мере необходимости) означиванием оттранслированного промежуточного кода сборок.

Схема выполнения CLR.

Рис. 14.3.  Схема выполнения CLR.

Существенно, что потенциально небезопасный код на языке C++ принципиально невыполним собственно JIT-компилятором, но исполняется посредством сервисов операционной системы. Ответственность за работоспособность программы и безопасность кода в этом случае лежит уже не на среде проектирования и разработки программного обеспечения .NET, а на программисте-разработчике.

Существенным позитивным отличием Microsoft .NET от существующих аналогов на современном рынке программного обеспечения является универсальная система типизации.

В ходе компиляции программа на .NET-совместимом языке программирования трансформируется в соответствии с заранее заданной Common Type System (CTS) обобщенной спецификацией языка. Система типов CTS полностью описывает все типы данных, поддерживаемые средой выполнения, определяет их взаимосвязи и хранит их отображения в систему типов .NET.

Универсальная система типизации (UTS).

Рис. 14.4.  Универсальная система типизации (UTS).




Содержание  Назад  Вперед