В основе лежит понятие базисного типа, который в. NET называется System.Object (это очень похоже на Java). Он делится на две категории – типы-ссылки и типы-значения, при этом типы-значения и типы-ссылки различным образом хранятся и используются. Типы-значения при создании экземпляра класса каждый раз вводятся в память и т. д.
Типы-ссылки – это классы, интерфейсы, массивы, делегаты и т. д.
Типы-значения – это перечислимые типы структуры и простые типы, такие как целочисленный, логический и т. д. Все типы, определяемые пользователями, фактически являются типами-ссылками. Таким образом, имеет место строгая иерархия классов.
Рис. 8.4.
Универсальная система типизации (UTS)В основе архитектуры. NET лежит понятие «сборка».
Сборка кода
(assembly) – группа ресурсов, типов и метаданные, описывающие эти ресурсы и типы, необходимые для функционирования компонентов. Сборка реализуется как единое целое. Сборка – это самодостаточная единица кода.К особенностям сборок кода прежде всего относятся следующие:
• сборка распространяется и реализуется как единое целое;
• метаданные сборки содержат информацию о зависимостях между ресурсами, версиях и т. п.;
• сборка характеризуется номером версии (последняя, специфичная и т. п.).
На уровне сервисов архитектура выглядит следующим образом:
• принцип. NET – «ПО как сервис»;
• следующий уровень архитектуры – уровень сервисов (рис. 8.5);
• сервисы доступны на уровне классов любого ЯП для. NET.
На нижнем уровне архитектуры существуют системные сервисы Microsoft Windows. На более высоких уровнях – различные надстройки, сервисы для работы с данными, сервисы интерфейсные и т. д. Сервисы. NET находятся на более высоком уровне, чем сервисы для Windows.
Рис. 8.5.
Архитектура. NET – уровень сервисовИ для любого языка программирования, который реализован для. NET, мы можем использовать эти системные сервисы. NET, это фактически просто элементы классов. NET, которые доступны для любого языка.
Абстрактная машина. NET.
CLR располагается над уровнем сервисов ОС (Windows CE, Windows ME, Windows 2000, Windows.NET).Системные сервисы располагаются над CLR (доступ – через библиотеки классов): доступ к функциям ОС, управление данными, отладка, другие сервисы и т. п.; еще выше – компоненты и сервисы для разработки веб-узлов, веб-сервисов, пользовательских интерфейсов (GUI).
Веб-приложения
– архитектура клиент – сервер с доступом пользователей к данным через веб-браузер (технология ASP.NET).Распределенные приложения
на основе иных механизмов удаленного взаимодействия компонентов XML Web Services – на основе открытых стандартов, NET Remoting – на основе внутренних протоколов Microsoft и целый ряд других подходов.По сути, NET представляет собой виды базовых классов для сервисов:
• доступ к сервисам ОС (Windows CE, ME, 2000, NET);
• доступ к графическим функциям (двумерная графика, обработка изображений, шрифты, в том числе технология ClearType, интеграция с GDI и DirectX);
• сетевые функции;
• управление потоками;
• глобализация;
• криптография;
• доступ к данным (библиотека классов ADO+ и OLE DB-драйверы);
• классы для средств разработки (отладка, трассировка, управление ресурсами, компиляция, установка ПО, протоколирование событий и т. д.);
• другие классы (в том числе поддержка протокола SOAP).
Назначение Windows Forms
– обеспечение разработки традиционных Windows-приложений на основе сервисов Microsoft.NET и соответствующих библиотек классов.Особенности разработки – унификация доступа:
• к библиотекам классов;
• механизмам распространения сервисов;
• механизмам поддержки версий;
• сервисам безопасности.
Вывод: создание Windows-приложений в архитектуре Microsoft.NET дает разработчикам существенные преимущества, поскольку огромное количество классов уже реализовано, и остается заполнить пробелы только с реализацией бизнес-логики по сравнению с традиционным API-ориентированным подходом.
Назначение Web Forms —
основа веб-сервисов и веб-приложений в архитектуре Microsoft.NET.Особенность – программная модель основана на ASP+ – новом поколении активных серверных страниц (эволюция технологии ASP – более 1 млн разработчиков).
Идея веб-форм (из Visual Basic 6): отделение логики веб-приложения от интерфейса (за счет объединения в рамках формы ASP– и HTML-кода).
Преимущества:
• более строгая структурированность приложений;
• широкий спектр (серверных) интерфейсных элементов;
• простая и мощная объектная модель;
• легкость разработки (и масштабирования) веб-приложений.
Основное средство для разработки приложений и сервисов в архитектуре. NET – Microsoft Visual Studio.NET (современная версия Microsoft Visual Studio).
Вот какого рода веб-сервисы можно создавать в. NET, так выглядит общая архитектура (рис. 8.6).
Рис. 8.6.
Веб-сервисы в. NETВеб-сервисы в. NET:
1) программируемые компоненты приложений, доступные посредством стандартных интернет-протоколов;
2) центральная часть архитектуры. NET;