Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

  //Если перо еще не существует, создать его

  if (s_whitePen == null) {

   s_whitePen = new System.Drawing.Pen(System.Drawing.Color.White);

  }

 //Возвратить белое перо return s_whitePen;

 }


 //-----------------------------------------------

 //Эта функция позволяет получить доступ

 //к полужирному шрифту, находящемуся в кэш-памяти

 //-----------------------------------------------

 private static System.Drawing.Font g_GetBoldFont {

  //Если перо еще не существует, создать его

  if (s_boldFont ==null) {

   s_boldFont = new System.Drawing.Font(

    System.Drawing.FontFamily.GenericSerif, 10, System.Drawing.FontStyle.Bold);

  }

  //Возвратить полужирный шрифт

  return s_boldFont;

 }


 //------------------------------------------------------

 //Эта функция позволяет осуществлять доступ

 //к находящемуся в кэш-памяти объекту imageAttributes,

 // который мы используем для изображений с прозрачностью

 //------------------------------------------------------

 private static System.Drawing.Imaging.ImageAttributes g_GetTransparencyImageAttribute {

  //Если объект не существует, создать его

  if (s_ImageAttribute == null) {

   //Создать атрибут изображения

   s_ImageAttribute = new System.Drawing.Imaging.ImageAttributes;

   s_ImageAttribute.SetColorKey(System.Drawing.Color.White, System.Drawing.Color.White);

  }

  //Возвратить его

 return s_ImageAttribute;

 }

} //Конец класса

Управление памятью на микроскопическом "уровне алгоритма"

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

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT