Чтение онлайн

на главную - закладки

Жанры

Программирование для карманных компьютеров

Волков Владимир

Шрифт:

Common Language Specification

Общеязыковая спецификация – это набор стандартов, определяющих основные требования к архитектуре языка, соблюдение которых делают программы, написанные на разных языках «прозрачными» друг для друга. На самом деле, если промежуточный язык один и тот же, среда выполнения одна и та же, то нужна только небольшая синхронизация общих правил, чтобы программа, написанная на одном языке, ничем не отличалась от программы, написанной на другом языке после компиляции обеих программ в IL. А если на уровне IL отличий нет, то значит программы, написанные на одном языке, могут с легкостью использовать модули, написанные

на другом языке. Мало того, извечный спор и противостояние языков C и VB в. NET теряет смысл, посколько на уровне IL разница в коде между ними стирается.

Common type system

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

Common Language Infrastructure

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

Compact Framework

NET Compact Framework это подмножество полной версии. NET Framework, которое предоставляет программисту большинство возможностей, присутствующих в полной версии для настольных и серверных машин. К этим возможностям относятся межъязыковая среда выполнения, JIT-компиляция, защита кода и управление памятью при помощи сборщика мусора. Также в. NET CF разработчик может использовать Windows Forms, средства доступа к данным, XML и веб-сервисы на основе XML.

Application domains

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

Управление памятью

В.NET Compact Framework управление памятью оптимизировано таким образом, чтобы как можно меньше загружать память и ресурсы процессора. В частности, такая часть. NET Framework, как native image cache , в Compact Framework отсутствует.

Сборка мусора

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

Основные отличия между базовой версией. NET Framework и Compact Framework

Как уже говорилось ранее, разница в версиях. NET не так уж велика, но все же существует. Основные отличия перечислены в следующем списке.

1. CLR в версии CF составляет около 12 % по объему от настольной версии.

2. Взаимодействие с COM-объектами ограничено. Из управляемого кода невозможно создавать COM-объекты или вызывать ActiveX-компоненты. Непосредственный доступ к API Windows CE также невозможен. Но, используя Platform Invokation Service (PInvoke), разработчик может вызывать функции из DLL, в которых, в свою очередь, описывать вызов функций API.

3. Взаимодействие с данными происходит через мобильную реализацию ADO.NET и SQL Server CE.NET Data Provider

4. В CF не поддерживается ASP.NET.

5. Поддержка XML ограничена из соображений экономии памяти. Не поддерживается XML sсhema validation.

Некоторые важные термины и понятия

В этом разделе будут рассмотрены

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

? В технологии. NET не принято говорить о библиотеках, компонентах или модулях. Для обозначения некоторой наименьшей единицы построения приложений принят термин «сборка». Сборка (assembly) – наименьший логический модуль в системе. NET, относительно которого работают правила разграничения доступа и кэширования загрузки.

? Метаданные (MetaData) – это данные, которые содержит в себе каждая сборка. Благодаря этому механизму любая сборка и вообще весь код. NET являются самодокументированными. Состав метаданных следует рассмотреть подробнее.

• Описание сборки – идентификаторы (имя, версия), зависимость от других сборок, ограничения безопасности.

• Описания типов, объявленных в данной сборке.

• Зона видимости, базовый класс и реализуемые интерфейсы.

• Методы, поля, свойства, внутренние типы и события.

• Атрибуты.

? Пространства имен (Namespaces) – логическая иерархическая система имен, позволяющая группировать имена в логически и функционально связанные группы. Пространство имен – это инструмент, который используется во время разработки, и он не зависит от физического положения кода в том или ином файле. Имена, объединенные в одном логическом блоке (например, System.Data), могут физически располагаться в разных файлах. При помощи директивы Imports разработчик может подключать к модулю то или иное пространство имен. Например, если в программе часто происходит ссылка на имена System.Drawing.Image и System.Drawing.Colors, то, поместив в самом начале файла (до любого другого кода) директиву Imports System.Drawing, разработчик может обращаться к этим именам в коде без префикса. Пространство имен по своему назначению чем-то схоже с иерархией пакетов в Java.

Файлы и сборки (библиотеки) CF

В табл. 6.1 приведен список файлов. NET CF и их предназначение.

Таблица 6.1. Файлы. NET CF

ПРИМЕЧАНИЕ.

Не все файлы из вышеприведенной таблицы можно найти на устройстве после установки на него. NET CF. Сборки System.SR.dll, System.Data.SqlClient.dll и System.Data.SqlServerCe.dll необходимо устанавливать отдельно. Мало того, автоматически устанавливаемые файлы также будут присутствовать не все. Например, попытка найти на устройстве файл System.Drawing.dll будет неудачной, но вы можете найти GAC_System.Drawing_v1_0_5000_ 0_ cneutral_1.dll. Такому переименованию подвергаются файлы, которые устанавливаются в Global Assembly Cash (GAC). Установленные в GAC файлы предназначены для совместного использования, и CF производит дополнительные проверки при их загрузке и удалении из памяти.

Важные классы и пространства имен CF

В табл. 6.2. перечисляются основные пространства имен, с которыми будет иметь дело разработчик.

Таблица 6.2. Важные пространства имен

Поделиться:
Популярные книги

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Кодекс Крови. Книга ХIV

Борзых М.
14. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХIV

Магия чистых душ 3

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Магия чистых душ 3

Жестокая свадьба

Тоцка Тала
Любовные романы:
современные любовные романы
4.87
рейтинг книги
Жестокая свадьба

Усадьба леди Анны

Ром Полина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Усадьба леди Анны

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Имперский Курьер

Бо Вова
1. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Имперский Курьер

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Сердце дракона. Танец с врагом

Серганова Татьяна
2. Танец с врагом
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Сердце дракона. Танец с врагом