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

Тут можно читать онлайн Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование мобильных устройств на платформе .NET Compact Framework
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2006
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    5-8459-0989-9
  • Рейтинг:
    4.22/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework краткое содержание

Программирование мобильных устройств на платформе .NET Compact Framework - описание и краткое содержание, автор Иво Салмре, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.

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

Программирование мобильных устройств на платформе .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)

Программирование мобильных устройств на платформе .NET Compact Framework - читать книгу онлайн бесплатно, автор Иво Салмре
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

//Создать экземпляр вспомогательного класса,

//который расчленяет строку на три части

//

//Это неэкономный способ!

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

workerClass1 = new WastefulWorkerClass(testArray[idx]);

//Если средним словом является "blue", заменить его на "orange"

if (workerClass1.MiddleSegment == "blue") {

//Заменить средний сегмент

workerClass1.MiddleSegment = "orange";

//Заменить слово

testArray[idx] = workerClass1.getWholeString();

}

} //конец внутреннего цикла for

}//конец внешнего цикла for

//Получить время окончания теста

PerformanceSampling.StopSample(0);

System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(0));

}

Листинг 8.4. Рабочий класс для первого тестового примера

using System;

public class WastefulWorkerClass {

private string m_beginning_segment;

public string BeginSegment {

get { return m_beginning_segment; }

set { m_beginning_segment = value; }

}

private string m_middle_segment;

public string MiddleSegment {

get { return m_middle_segment; }

set { m_middle_segment = value; }

}

private string m_end_segment;

public string EndSegment {

get { return m_end_segment; }

set { m_end_segment = value; }

}

public WastefulWorkexClass(string in_word) {

int index_segment1;

//Осуществляем поиск символов подчеркивания ("_") в строке

index_segment1 = in_word.IndexOf("_",0);

//B случае отсутствия символов "_" все, что нам нужно, это первый сегмент

if (index_segment1 == -1) {

m_beginning_segment = in_word;

m_middle_segment = "";

m_end_segment = "";

return;

}

//Если присутствует символ "_", усечь его

else {

//Если первым символом является "_", то первым сегментом будет ""

if (index_segment1 == 0) {

m_beginning_segment = "";

} else {

//Первый сегмент

m_beginning_segment = in_word.Substring(0, index_segment1);

}

//Найти второй символ "_"

int index_segment2;

index_segment2 = in_word.IndexOf("_", index_segment1 + 1);

//Второй символ "_" отсутствует

if (index_segment2 == -1) {

m_middle_segment = "";

m_end_segment = in_word.Substring(index_segment1 + 1);

return;

}

//Установить последний сегмент

m_middle_segment = in_word.Substring(index_segment1 + 1, index_segment2 - index_segment1 -1);

m_end_segment = in word.Substring(index segment2 + 1);

}

//Возвращает все три сегмента, объединенные символами "_"

public string getWholeString() {

return m_beginning_segment + "_" + m_middle_segment + "_" + m_end_segment;

}

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

Повторно используйте размещенные в памяти объекты при любом удобном случае

Создание экземпляра вспомогательного класса в каждой итерации цикла обработки является большим расточительством. Несмотря на относительно малые размеры объекта, содержащего всего лишь несколько элементов данных, его обработка приводит к дополнительным накладным расходам. Кроме того, каждый раз, когда создается очередной экземпляр объекта, прежний экземпляр освобождается. В результате этого образуется мусор, который впоследствии должен быть убран. От напрасного размещения объектов в памяти мы можем легко избавиться.

Листинг 8.5. Тестовый пример, демонстрирующий уменьшение объема памяти, распределяемой для объектов (типичный образец улучшения первоначального варианта реализации интересующей нас функции)

Примечание. В этом примере используется класс PerformanceSampling, определенный ранее в данной книге.

private void button3_Click(object sender, System.EventArgs e) {

//Вызвать сборщик мусора, чтобы тест

//начинался с чистого состояния.

//ПРИБЕГАЙТЕ К ЭТОЙ МЕРЕ ТОЛЬКО В ЦЕЛЯХ ТЕСТИРОВАНИЯ! Вызовы

//сборщика мусора в программах вручную будут приводить к снижению

//общей производительности приложений!

System.GC.Collect();

string[] testArray = null;

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

//Просмотреть элементы массива и найти

//те из них, в которых средним словом является

//"blue". Заменить "blue" на "orange"

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

//Запустить секундомер!

PerformanceSampling.StartSample(1, "LessWasteful");

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

//БОЛЕЕ ЭКОНОМНЫЙ СПОСОБ: Распределить память

//для объекта до вхождения в цикл

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

LessWastefulWorkerClass workerClass1;

workerClass1 = new LessWastefulWorkerClass();

int outerLoop;

for (outerLoop = 0; outerLoop < LOOP_SIZE; outerLoop++) {

//Присвоить элементам массива значения, которые

//мы хотим использовать при тестировании

ResetTestArray(ref testArray);

int topIndex = testArray.Length - 1;

for(int idx = 0; idx <= topIndex; idx++) {

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

//Теперь вместо повторного распределения памяти для объекта

//нам достаточно лишь повторно воспользоваться им

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

//workerClass1 = new WastefulWorkerClass(

// testArray[topIndex]);

workerClass1.ReuseClass(testArray[idx]);

//Если средним словом является "blue", заменить его на "orange"

if (workerClass1.MiddleSegment == "blue") {

//Заменить средний сегмент

workerClass1.MiddleSegment = "orange";

//Заменить слово

testArray[idx] = workerClass1.getWholeString();

}

}

}

//Остановить секундомер!

PerformanceSampling.StopSample(1);

System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(1));

}

Листинг 8.6. Рабочий класс для второго тестового примера

using System;

public class LessWastefulWorkerClass {

private string m_beginning_segment;

public string BeginSegment {

get { return m beginning_segment; }

set { m_beginning_segment = value; }

}

private string m_middle_segment;

public string MiddleSegment {

get { return m_middle_segment; }

set { m_middle segment = value; }

}

private string m_end_segment;

public string EndSegment {

get { return m_end_segment; }

set { m_end_segment = value; }

}

public void ReuseClass(string in word) {

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

//Для повторного использования класса необходимо

//полностью очистить внутреннее состояние

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

m_beginning_segment = "";

m_middle_segment = "";

m_end_segment = "";

int index_segment1;

//Осуществляем поиск символов подчеркивания (" ") в строке

index segment1 = in_word.IndexOf(" ",0);

//B случае отсутствия символов " " все, что нам нужно, это первый сегмент

if (index_segment1 == -1) {

m_beginning_segment = in_word;

return;

}

//Если присутствует символ " ", усечь его

else {

if (index_segment1 == 0) {

} else {

m_beginning_segment = in_word.Substring(0, index_segment1);

}

int index_segment2;

index_segment2 = in_word.IndexOf("_", index_segment1 + 1);

if (index_segment2 == -1) {

m_end_segment = in_word.Substring(index_segment1 + 1);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Иво Салмре читать все книги автора по порядку

Иво Салмре - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Программирование мобильных устройств на платформе .NET Compact Framework, автор: Иво Салмре. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x