Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

В средах программирования доступа к данным часто предлагают многоуровневые подходы для организации работы с данными. Как и при работе с XML-ориентированными средами, существуют низкоуровневые модели однонаправленного доступа к данным, которые не имеют состояния, и построенные поверх них полнофункциональные модели, хранящие очень подробную информацию о своем состоянии. ADO.NET предлагает возможность выбора между этими типами моделей. Как разработчик, вы можете работать либо на высоком уровне абстракции, используя объекты ADO.NET DataSet для управления данными в памяти, либо на низком уровне, используя непосредственно классы DataReader и DataConnection, которые напрямую связываются с базами данных. Как и на заправках, полный сервис — это, разумеется, неплоxo, но за все услуги надо платить; в случае доступа к данным дополнительной платой за использование высокоуровневых служб будет необходимость хранения состояния в памяти, а это, в конечном счете, означает снижение производительности.

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

В случае данных небольшого объема, данных, которые требуют интенсивной поддержки динамического обновления или данных, характеризующихся сложными взаимосвязями, вам будет очень полезна полнофункциональная модель, основанная на использовании объектов ADO.NET DataSet. При работе с объектами DataSet убедитесь в том, что вы используете наиболее эффективные способы доступа к данным. В случае работы с объектами DataRow в объектах DataTable это означает использование кэшированных индексов объектов DataColumn для доступа к полям.

Для достижения максимально возможной производительности при работе с большими объемами данных вы должны продумать для своего приложения пользовательскую модель данных, в наибольшей степени оптимизированную под решаемую задачу. Результатом этого может быть как непосредственное повышение производительности, так и снижение общего объема памяти, потребляемой вашим приложением. Если вы остановились на пользовательском низкоуровневом подходе, то по возможности постарайтесь воспользоваться наиболее простой и эффективной в отношении использования памяти моделью. Всегда осуществляйте мониторинг выполнения кода и тестируйте производительность вашего варианта проекта по сравнению с существующими высокоуровневыми моделями доступа к данным!

Существует две рекомендованных модели локального хранения долговременных данных на устройствах, одна из которых предполагает хранение данных в виде XML-файлов, а вторая — использование локальной базы данных устройства, например SQL СЕ. Каждый из этих вариантов доступен как при использовании высокоуровневой модели ADO.NET DataSet, так и при использовании адаптированных низкоуровневых механизмов для работы с данными. Коль скоро объем данных, с которыми приходится работать, остается сравнительно небольшим (например, порядка 50 Кбайт в случае XML-данных), то отличные и гибкие возможности вам предоставят XML-файлы. С увеличением же объемов данных все более привлекательным будет становиться использование процессоров баз данных. И вновь следует подчеркнуть, что единственным способом проверки того, что вы приняли верные проектные решения, является мониторинг выполнения кода и получение количественных показателей, которые можно сравнивать между собой.

Как и в случае проектирования пользовательских интерфейсов, лозунг "пишется однажды — выполняется везде" — не более чем призрачная цель при проектировании доступа к данным в мобильных приложениях. Для достижения максимально возможной производительности вы должны специальным образом настраивать модели доступа к данным и использования памяти применительно к конкретным устройствам, на которых будет выполняться приложение. Если вы создаете несколько версий приложения, ориентированные на различные классы устройств, то вам, вероятно, придется выбрать для каждого класса устройств свою модель хранения данных, зависящую от возможностей устройства и потребностей приложения.

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

ГЛАВА 15

Шаг 4: выбор подходящей коммуникационной модели

"Информация решает все…"

Маршалл Мак-Луган (Marshall McLuhan) (1911–1980), теоретик в области связи (Encarta 2004, Quotations)

"И-Ти звонить семья…"

Пришелец, который просто хотел поговорить с родными (кинофильм "Пришелец" ("The Extra-Terrestrial"), 1982)

"Если что-то может пойти не так, то это обязательно произойдет, причем именно тогда, когда вы меньше всего этого ожидаете."

Закон Мэрфи

Введение в технологии связи с помощью мобильных приложений

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

Суть пророческого высказывания Маршалла Мак-Лугана ("Информация решает все") состоит в том, что развитие технологий связи оказывает на человеческое общество радикальное влияние. В этой цитате утверждается, что облик общества в значительной мере определяется уровнем развития коммуникационных средств. Иначе говоря, технологии связи — это не просто средства, которые состоят на службе у общества, скорее, именно то, какие технологии связи применяются заметным образом воздействует на сам характер общества. Точно та же аналогия справедлива и в отношении программного обеспечения; приложение не просто использует средства связи, но сама его природа в значительной степени определяется тем, какие способы коммуникации в нем используются. Это вдвойне справедливо в отношении программного обеспечения, выполняющегося на мобильных устройствах. Способ коммуникации вашего мобильного приложения с внешним миром является его фундаментальной характеристикой. Применяемые приложением средства коммуникации — это не просто "набор технических средств", но фундаментальный атрибут поведения самого приложения.

  • Читать дальше
  • 1
  • ...
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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